Messages in this thread Patch in this message | ![/](/images/icornerl.gif) | | Date | Sun, 10 Aug 2003 00:25:03 +0300 | From | Muli Ben-Yehuda <> | Subject | [PATCH] fix trident.c lockup on module load 2.4.22-rc1 |
| |
Hi Marcelo,
This patch fixes a kernel lockup with 2.4.22-rc1 when the trident.c driver is loaded and the driver attempts to initialize the card. The problem is that in ali_ac97_get() we lock the card->lock spinlock, but never release it on the good path, only on the error path. This patch adds the missing spin_unlock_irqrestore().
Patch is against 2.4.22-rc1-cvs, tested and works, and fixes a pretty severe lockup bug. Please apply.
Cheers, Muli.
Index: drivers/sound/trident.c =================================================================== RCS file: /home/cvs/linux-2.4/drivers/sound/trident.c,v retrieving revision 1.29 diff -u -r1.29 trident.c --- drivers/sound/trident.c 2 Jul 2003 21:42:15 -0000 1.29 +++ drivers/sound/trident.c 9 Aug 2003 19:54:58 -0000 @@ -3014,6 +3014,8 @@ } data = inl(TRID_REG(card, address)); + + spin_unlock_irqrestore(&card->lock, flags); return ((u16) (data >> 16)); [unhandled content-type:application/pgp-signature] | ![\](/images/icornerr.gif) |