Messages in this thread Patch in this message | | | Date | Tue, 11 Feb 2003 14:54:15 -0800 | From | Andrew Morton <> | Subject | Re: Linux 2.5.60 |
| |
Andrew Morton <akpm@digeo.com> wrote: > > "Zephaniah E\. Hull" <warp@mercury.d2dc.net> wrote: > > > > Interesting BUG() on boot up. > > > > The EATA driver's locking in there is so wrong I don't know how to begin to > describe it ;) Looks like a misguided cli() conversion. > > Does this get you up and running? >
This one is better.
drivers/scsi/eata.c | 9 ++++----- 1 files changed, 4 insertions(+), 5 deletions(-)
diff -puN drivers/scsi/eata.c~eata-detect-fix drivers/scsi/eata.c --- 25/drivers/scsi/eata.c~eata-detect-fix Tue Feb 11 14:50:03 2003 +++ 25-akpm/drivers/scsi/eata.c Tue Feb 11 14:51:57 2003 @@ -1193,9 +1193,9 @@ static int port_detect \ } #endif - spin_unlock(&driver_lock); + spin_unlock_irq(&driver_lock); sh[j] = scsi_register(tpnt, sizeof(struct hostdata)); - spin_lock(&driver_lock); + spin_lock_irq(&driver_lock); if (sh[j] == NULL) { printk("%s: unable to register host, detaching.\n", name); @@ -1450,9 +1450,8 @@ static void add_pci_ports(void) { static int eata2x_detect(Scsi_Host_Template *tpnt) { unsigned int j = 0, k; - unsigned long spin_flags; - spin_lock_irqsave(&driver_lock, spin_flags); + spin_lock_irq(&driver_lock); tpnt->proc_name = "eata2x"; @@ -1490,7 +1489,7 @@ static int eata2x_detect(Scsi_Host_Templ } num_boards = j; - spin_unlock_irqrestore(&driver_lock, spin_flags); + spin_unlock_irq(&driver_lock); return j; } _
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |