lkml.org 
[lkml]   [2003]   [Feb]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: 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/

\
 
 \ /
  Last update: 2005-03-22 13:33    [W:0.118 / U:0.240 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site