mwifiex: add unregister_dev handler for usb interface
Clear the data pointer stored in USB interface structure in this handler. This helps to return from mwifiex_usb_disconnect() if driver deinitialization is already performed while handling an error path for mwifiex_usb_probe(). USB8797 card gets enumerated twice. First enumeration is for firmware download and second enumeration expects firmware initialization. mwifiex_usb_probe() always takes care of deinitialization for first enumeration after firmware download. Also, this change matches our handling for SDIO and PCIe interfaces. Signed-off-by: Amitkumar Karwar <akarwar@marvell.com> Signed-off-by: Bing Zhao <bzhao@marvell.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
4cfda67d8f
commit
2739a95d70
@ -786,6 +786,13 @@ static int mwifiex_register_dev(struct mwifiex_adapter *adapter)
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void mwifiex_unregister_dev(struct mwifiex_adapter *adapter)
|
||||
{
|
||||
struct usb_card_rec *card = (struct usb_card_rec *)adapter->card;
|
||||
|
||||
usb_set_intfdata(card->intf, NULL);
|
||||
}
|
||||
|
||||
static int mwifiex_prog_fw_w_helper(struct mwifiex_adapter *adapter,
|
||||
struct mwifiex_fw_image *fw)
|
||||
{
|
||||
@ -978,6 +985,7 @@ static int mwifiex_pm_wakeup_card(struct mwifiex_adapter *adapter)
|
||||
|
||||
static struct mwifiex_if_ops usb_ops = {
|
||||
.register_dev = mwifiex_register_dev,
|
||||
.unregister_dev = mwifiex_unregister_dev,
|
||||
.wakeup = mwifiex_pm_wakeup_card,
|
||||
.wakeup_complete = mwifiex_pm_wakeup_card_complete,
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user