|
@@ -737,7 +737,7 @@ static int if_spi_c2h_data(struct if_spi_card *card)
|
|
|
goto out;
|
|
|
} else if (len > MRVDRV_ETH_RX_PACKET_BUFFER_SIZE) {
|
|
|
lbs_pr_err("%s: error: card has %d bytes of data, but "
|
|
|
- "our maximum skb size is %lu\n",
|
|
|
+ "our maximum skb size is %zu\n",
|
|
|
__func__, len, MRVDRV_ETH_RX_PACKET_BUFFER_SIZE);
|
|
|
err = -EINVAL;
|
|
|
goto out;
|
|
@@ -1170,12 +1170,13 @@ static int __devexit libertas_spi_remove(struct spi_device *spi)
|
|
|
|
|
|
lbs_deb_spi("libertas_spi_remove\n");
|
|
|
lbs_deb_enter(LBS_DEB_SPI);
|
|
|
- priv->surpriseremoved = 1;
|
|
|
|
|
|
lbs_stop_card(priv);
|
|
|
+ lbs_remove_card(priv); /* will call free_netdev */
|
|
|
+
|
|
|
+ priv->surpriseremoved = 1;
|
|
|
free_irq(spi->irq, card);
|
|
|
if_spi_terminate_spi_thread(card);
|
|
|
- lbs_remove_card(priv); /* will call free_netdev */
|
|
|
if (card->pdata->teardown)
|
|
|
card->pdata->teardown(spi);
|
|
|
free_if_spi_card(card);
|