Commit 138b9dd1 authored by Dave Jones's avatar Dave Jones Committed by Linus Torvalds

[PATCH] icn driver fails to unload when no hardware present

Fix a null dereference in module unload path.

Found by a simple modprobe icn ; rmmod icn
Signed-off-by: default avatarDave Jones <davej@redhat.com>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 92e52b2e
...@@ -1650,7 +1650,7 @@ static void __exit icn_exit(void) ...@@ -1650,7 +1650,7 @@ static void __exit icn_exit(void)
{ {
isdn_ctrl cmd; isdn_ctrl cmd;
icn_card *card = cards; icn_card *card = cards;
icn_card *last; icn_card *last, *tmpcard;
int i; int i;
unsigned long flags; unsigned long flags;
...@@ -1670,8 +1670,9 @@ static void __exit icn_exit(void) ...@@ -1670,8 +1670,9 @@ static void __exit icn_exit(void)
for (i = 0; i < ICN_BCH; i++) for (i = 0; i < ICN_BCH; i++)
icn_free_queue(card, i); icn_free_queue(card, i);
} }
card = card->next; tmpcard = card->next;
spin_unlock_irqrestore(&card->lock, flags); spin_unlock_irqrestore(&card->lock, flags);
card = tmpcard;
} }
card = cards; card = cards;
cards = NULL; cards = NULL;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment