diff options
author | Dave Jones <davej@redhat.com> | 2005-08-09 01:13:15 +0200 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-08-09 01:21:32 +0200 |
commit | 138b9dd1fd7b44176af4f3b672060c790b0eaf55 (patch) | |
tree | aba0bffcaaee3fd29c1e3142a4c10331b4858293 /drivers/isdn | |
parent | Merge master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6 (diff) | |
download | linux-138b9dd1fd7b44176af4f3b672060c790b0eaf55.tar.xz linux-138b9dd1fd7b44176af4f3b672060c790b0eaf55.zip |
[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>
Diffstat (limited to 'drivers/isdn')
-rw-r--r-- | drivers/isdn/icn/icn.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/isdn/icn/icn.c b/drivers/isdn/icn/icn.c index e0d1b01cc74c..386df71eee74 100644 --- a/drivers/isdn/icn/icn.c +++ b/drivers/isdn/icn/icn.c @@ -1650,7 +1650,7 @@ static void __exit icn_exit(void) { isdn_ctrl cmd; icn_card *card = cards; - icn_card *last; + icn_card *last, *tmpcard; int i; unsigned long flags; @@ -1670,8 +1670,9 @@ static void __exit icn_exit(void) for (i = 0; i < ICN_BCH; i++) icn_free_queue(card, i); } - card = card->next; + tmpcard = card->next; spin_unlock_irqrestore(&card->lock, flags); + card = tmpcard; } card = cards; cards = NULL; |