Merge "wcnss: Prevent access to WCNSS driver after a failure"
diff --git a/drivers/net/wireless/wcnss/wcnss_wlan.c b/drivers/net/wireless/wcnss/wcnss_wlan.c
index 8312c16..e8b8fc2 100644
--- a/drivers/net/wireless/wcnss/wcnss_wlan.c
+++ b/drivers/net/wireless/wcnss/wcnss_wlan.c
@@ -1683,6 +1683,9 @@
{
struct platform_device *pdev;
+ if (!penv)
+ return -EFAULT;
+
/* first open is only to trigger WCNSS platform driver */
if (!penv->triggered) {
pr_info(DEVICE " triggered by userspace\n");
@@ -1710,7 +1713,7 @@
{
int rc = 0;
- if (!penv->device_opened)
+ if (!penv || !penv->device_opened)
return -EFAULT;
rc = wait_event_interruptible(penv->read_wait, penv->fw_cal_rcvd
@@ -1749,7 +1752,7 @@
int rc = 0;
int size = 0;
- if (!penv->device_opened || penv->user_cal_available)
+ if (!penv || !penv->device_opened || penv->user_cal_available)
return -EFAULT;
if (penv->user_cal_rcvd == 0 && count >= 4