lkml.org 
[lkml]   [2008]   [Nov]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
SubjectRe: [PATCH 2/8] prism2_usb.c always enable the card in probe_usb
Date
Am Montag, 3. November 2008 12:13:48 schrieb Richard Kennedy:
> always enable card in probe_usb
> & update register_wlandev to match latest wlan-ng-dev tree.

This breaks both error cases.

> ---
> drivers/staging/wlan-ng/prism2_usb.c | 14 +++++++++-----
> 1 files changed, 9 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/staging/wlan-ng/prism2_usb.c b/drivers/staging/wlan-ng/prism2_usb.c
> index f1ae371..34a36c1 100644
> --- a/drivers/staging/wlan-ng/prism2_usb.c
> +++ b/drivers/staging/wlan-ng/prism2_usb.c
> @@ -110,11 +110,6 @@ static int prism2sta_probe_usb(
> * linux netdevice.
> */
> SET_NETDEV_DEV(wlandev->netdev, &(interface->dev));
> - if ( register_wlandev(wlandev) != 0 ) {
> - WLAN_LOG_ERROR("%s: register_wlandev() failed.\n", dev_info);
> - result = -EIO;
> - goto failed;
> - }
>
> /* Do a chip-level reset on the MAC */
> if (prism2_doreset) {

/* Do a chip-level reset on the MAC */
if (prism2_doreset) {
result = hfa384x_corereset(hw,
prism2_reset_holdtime,
prism2_reset_settletime, 0);
if (result != 0) {
unregister_wlandev(wlandev);

You must remove the unregister_wlandev here.

> @@ -138,6 +133,15 @@ static int prism2sta_probe_usb(
>
> wlandev->msdstate = WLAN_MSD_HWPRESENT;
>
> + if ( register_wlandev(wlandev) != 0 ) {
> + WLAN_LOG_ERROR("%s: register_wlandev() failed.\n", dev_info);
> + result = -EIO;
> + goto failed;

"failed" fails to undo usb_get_dev() which it must do if you jump there
from this late.

Regards
Oliver


\
 
 \ /
  Last update: 2008-11-03 12:27    [W:0.068 / U:0.188 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site