From: Roland Vossen <rvossen@xxxxxxxxxxxx> Some code paths in the fullmac driver did not return a negative value on error. This has been corrected. Cc: devel@xxxxxxxxxxxxxxxxxxxxxx Cc: linux-wireless@xxxxxxxxxxxxxxx Cc: Brett Rudley <brudley@xxxxxxxxxxxx> Cc: Henry Ptasinski <henryp@xxxxxxxxxxxx> Cc: Roland Vossen <rvossen@xxxxxxxxxxxx> Signed-off-by: Arend van Spriel <arend@xxxxxxxxxxxx> --- drivers/staging/brcm80211/brcmfmac/dhd_common.c | 2 +- drivers/staging/brcm80211/brcmfmac/dhd_linux.c | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/drivers/staging/brcm80211/brcmfmac/dhd_common.c b/drivers/staging/brcm80211/brcmfmac/dhd_common.c index 8d5acb8..9eca208 100644 --- a/drivers/staging/brcm80211/brcmfmac/dhd_common.c +++ b/drivers/staging/brcm80211/brcmfmac/dhd_common.c @@ -432,7 +432,7 @@ int dhd_ioctl(dhd_pub_t *dhd_pub, dhd_ioctl_t *ioc, void *buf, uint buflen) case DHD_GET_VERSION: if (buflen < sizeof(int)) - bcmerror = BCME_BUFTOOSHORT; + bcmerror = -BCME_BUFTOOSHORT; else *(int *)buf = DHD_IOCTL_VERSION; break; diff --git a/drivers/staging/brcm80211/brcmfmac/dhd_linux.c b/drivers/staging/brcm80211/brcmfmac/dhd_linux.c index bb4fdc6..b43ac8a 100644 --- a/drivers/staging/brcm80211/brcmfmac/dhd_linux.c +++ b/drivers/staging/brcm80211/brcmfmac/dhd_linux.c @@ -1699,7 +1699,7 @@ static int dhd_ioctl_entry(struct net_device *net, struct ifreq *ifr, int cmd) /* Copy the ioc control structure part of ioctl request */ if (copy_from_user(&ioc, ifr->ifr_data, sizeof(wl_ioctl_t))) { - bcmerror = BCME_BADADDR; + bcmerror = -BCME_BADADDR; goto done; } @@ -1715,11 +1715,11 @@ static int dhd_ioctl_entry(struct net_device *net, struct ifreq *ifr, int cmd) { buf = kmalloc(buflen, GFP_ATOMIC); if (!buf) { - bcmerror = BCME_NOMEM; + bcmerror = -BCME_NOMEM; goto done; } if (copy_from_user(buf, ioc.buf, buflen)) { - bcmerror = BCME_BADADDR; + bcmerror = -BCME_BADADDR; goto done; } } @@ -1728,12 +1728,12 @@ static int dhd_ioctl_entry(struct net_device *net, struct ifreq *ifr, int cmd) /* To differentiate between wl and dhd read 4 more byes */ if ((copy_from_user(&driver, (char *)ifr->ifr_data + sizeof(wl_ioctl_t), sizeof(uint)) != 0)) { - bcmerror = BCME_BADADDR; + bcmerror = -BCME_BADADDR; goto done; } if (!capable(CAP_NET_ADMIN)) { - bcmerror = BCME_EPERM; + bcmerror = -BCME_EPERM; goto done; } -- 1.7.4.1 -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html