|
@@ -196,7 +196,6 @@ mwifiex_sdio_remove(struct sdio_func *func)
|
|
|
}
|
|
|
|
|
|
mwifiex_remove_card(card->adapter, &add_remove_card_sem);
|
|
|
- kfree(card);
|
|
|
}
|
|
|
|
|
|
/*
|
|
@@ -1745,7 +1744,6 @@ mwifiex_unregister_dev(struct mwifiex_adapter *adapter)
|
|
|
sdio_claim_host(card->func);
|
|
|
sdio_disable_func(card->func);
|
|
|
sdio_release_host(card->func);
|
|
|
- sdio_set_drvdata(card->func, NULL);
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -1773,7 +1771,6 @@ static int mwifiex_register_dev(struct mwifiex_adapter *adapter)
|
|
|
return ret;
|
|
|
}
|
|
|
|
|
|
- sdio_set_drvdata(func, card);
|
|
|
|
|
|
adapter->dev = &func->dev;
|
|
|
|
|
@@ -1801,6 +1798,8 @@ static int mwifiex_init_sdio(struct mwifiex_adapter *adapter)
|
|
|
int ret;
|
|
|
u8 sdio_ireg;
|
|
|
|
|
|
+ sdio_set_drvdata(card->func, card);
|
|
|
+
|
|
|
/*
|
|
|
* Read the HOST_INT_STATUS_REG for ACK the first interrupt got
|
|
|
* from the bootloader. If we don't do this we get a interrupt
|
|
@@ -1883,6 +1882,8 @@ static void mwifiex_cleanup_sdio(struct mwifiex_adapter *adapter)
|
|
|
kfree(card->mpa_rx.len_arr);
|
|
|
kfree(card->mpa_tx.buf);
|
|
|
kfree(card->mpa_rx.buf);
|
|
|
+ sdio_set_drvdata(card->func, NULL);
|
|
|
+ kfree(card);
|
|
|
}
|
|
|
|
|
|
/*
|