fix trident.c lockup on module load 2.4.22-rc1
PATCH 1/1 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
sound/trident.c +2 -0
@@ -3014,6 +3014,8 @@ } data =inl (TRID_REG (card, address)); + +spin_unlock_irqrestore (&card->lock, flags);return ((u16) (data >>16 ));