Message ID | 1375672708-3017-1-git-send-email-khoroshilov@ispras.ru (mailing list archive) |
---|---|
State | Not Applicable, archived |
Headers | show |
On Mon, 2013-08-05 at 07:18 +0400, Alexey Khoroshilov wrote: > prism2_open() as an .ndo_open handler should not return positive numbers > in case of failure, but it does return 1 in a couple of places. > > Found by Linux Driver Verification project (linuxtesting.org). How? http://linuxtesting.org/project/ldv http://linuxtesting.org/results/ldv Shows defects and patches to fix them, but not any script used to find it. -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 08/05/2013 07:33 AM, Joe Perches wrote: > On Mon, 2013-08-05 at 07:18 +0400, Alexey Khoroshilov wrote: >> prism2_open() as an .ndo_open handler should not return positive numbers >> in case of failure, but it does return 1 in a couple of places. >> >> Found by Linux Driver Verification project (linuxtesting.org). > How? > > http://linuxtesting.org/project/ldv > http://linuxtesting.org/results/ldv > > Shows defects and patches to fix them, but not any script > used to find it. There is a link to build instructions there: http://forge.ispras.ru/projects/ldv/wiki/Downloading_and_Building_LDV Currently it requires some efforts to install all the dependencies, the simplest way is to use puppet script for Ubuntu 12.04 that you can find in the repository. -- Alexey -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/net/wireless/hostap/hostap_main.c b/drivers/net/wireless/hostap/hostap_main.c index 15f0fad..e4f56ad 100644 --- a/drivers/net/wireless/hostap/hostap_main.c +++ b/drivers/net/wireless/hostap/hostap_main.c @@ -667,7 +667,7 @@ static int prism2_open(struct net_device *dev) if (local->no_pri) { printk(KERN_DEBUG "%s: could not set interface UP - no PRI " "f/w\n", dev->name); - return 1; + return -ENODEV; } if ((local->func->card_present && !local->func->card_present(local)) || @@ -682,7 +682,7 @@ static int prism2_open(struct net_device *dev) printk(KERN_WARNING "%s: could not enable MAC port\n", dev->name); prism2_close(dev); - return 1; + return -ENODEV; } if (!local->dev_enabled) prism2_callback(local, PRISM2_CALLBACK_ENABLE);
prism2_open() as an .ndo_open handler should not return positive numbers in case of failure, but it does return 1 in a couple of places. Found by Linux Driver Verification project (linuxtesting.org). Signed-off-by: Alexey Khoroshilov <khoroshilov@ispras.ru> --- drivers/net/wireless/hostap/hostap_main.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)