summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/marvell/libertas/if_spi.c
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2017-04-27 17:15:54 -0400
committerDavid S. Miller <davem@davemloft.net>2017-04-27 17:15:54 -0400
commite221c1f0fe2590042b4f8c3a8ccccd8e7bed2c31 (patch)
treef9a2e3cc27a200c174e871ff42775ab95cdc8076 /drivers/net/wireless/marvell/libertas/if_spi.c
parent899dc833f09e5dae3288e6908d6eea1759b2eb50 (diff)
parent47d272f0f9887343f4e4d31bb22910b141b96654 (diff)
downloadlinux-e221c1f0fe2590042b4f8c3a8ccccd8e7bed2c31.tar.gz
linux-e221c1f0fe2590042b4f8c3a8ccccd8e7bed2c31.tar.bz2
linux-e221c1f0fe2590042b4f8c3a8ccccd8e7bed2c31.zip
Merge tag 'wireless-drivers-next-for-davem-2017-04-27' of git://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers-next
Kalle Valo says: ==================== wireless-drivers-next patches for 4.12 Few remaining patches for 4.12 submitted during the last week. Major changes: iwlwifi * the firmware for 7265D and 3168 NICs is frozen at version 29 * more support for the upcoming A000 series ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/wireless/marvell/libertas/if_spi.c')
-rw-r--r--drivers/net/wireless/marvell/libertas/if_spi.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/net/wireless/marvell/libertas/if_spi.c b/drivers/net/wireless/marvell/libertas/if_spi.c
index c3a53cd6988e..7b4955cc38db 100644
--- a/drivers/net/wireless/marvell/libertas/if_spi.c
+++ b/drivers/net/wireless/marvell/libertas/if_spi.c
@@ -1181,6 +1181,10 @@ static int if_spi_probe(struct spi_device *spi)
/* Initialize interrupt handling stuff. */
card->workqueue = alloc_workqueue("libertas_spi", WQ_MEM_RECLAIM, 0);
+ if (!card->workqueue) {
+ err = -ENOMEM;
+ goto remove_card;
+ }
INIT_WORK(&card->packet_work, if_spi_host_to_card_worker);
INIT_WORK(&card->resume_work, if_spi_resume_worker);
@@ -1209,6 +1213,7 @@ release_irq:
free_irq(spi->irq, card);
terminate_workqueue:
destroy_workqueue(card->workqueue);
+remove_card:
lbs_remove_card(priv); /* will call free_netdev */
free_card:
free_if_spi_card(card);