[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: Dave Jones <davej@redhat.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
92e52b2e82
commit
138b9dd1fd
|
@ -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)
|
||||||
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;
|
||||||
|
|
Loading…
Reference in a new issue