Messages in this thread Patch in this message | | | From | Oliver Neukum <> | Subject | Re: [PATCH 2/8] prism2_usb.c always enable the card in probe_usb | Date | Mon, 3 Nov 2008 12:25:08 +0100 |
| |
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
| |