* qla1280 bandaid
@ 2003-09-02 4:57 Peter Chubb
2003-09-02 20:18 ` Christoph Hellwig
2003-09-03 16:46 ` Jes Sorensen
0 siblings, 2 replies; 3+ messages in thread
From: Peter Chubb @ 2003-09-02 4:57 UTC (permalink / raw)
To: linux-ia64
Hi Jes,
The problem is that bus_reset drops the HOST_LOCK when it calls
schedule_timeout, but when it's called from the initialisation code,
HOST_LOCK isn't actually held.
The appended patch fixes this; however, I'm not sure that it's
correct, because I couldn't work out easily whether the HOST_LOCK is
held or not on all paths to qla1280_bus_reset().
With the patch in place, I can once again boot SMP I2000 and rx4610.
=== drivers/scsi/qla1280.c 1.44 vs edited ==--- 1.44/drivers/scsi/qla1280.c Fri Aug 15 09:08:54 2003
+++ edited/drivers/scsi/qla1280.c Tue Sep 2 14:53:32 2003
@@ -3346,9 +3346,9 @@
ha->bus_settings[bus].scsi_bus_dead = 1;
ha->bus_settings[bus].failed_reset_count++;
} else {
- spin_unlock_irq(HOST_LOCK);
+/* spin_unlock_irq(HOST_LOCK);*/
schedule_timeout(reset_delay * HZ);
- spin_lock_irq(HOST_LOCK);
+/* spin_lock_irq(HOST_LOCK);*/
ha->bus_settings[bus].scsi_bus_dead = 0;
ha->bus_settings[bus].failed_reset_count = 0;
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: qla1280 bandaid
2003-09-02 4:57 qla1280 bandaid Peter Chubb
@ 2003-09-02 20:18 ` Christoph Hellwig
2003-09-03 16:46 ` Jes Sorensen
1 sibling, 0 replies; 3+ messages in thread
From: Christoph Hellwig @ 2003-09-02 20:18 UTC (permalink / raw)
To: linux-ia64
On Tue, Sep 02, 2003 at 02:57:15PM +1000, Peter Chubb wrote:
>
> Hi Jes,
> The problem is that bus_reset drops the HOST_LOCK when it calls
> schedule_timeout, but when it's called from the initialisation code,
> HOST_LOCK isn't actually held.
>
> The appended patch fixes this; however, I'm not sure that it's
> correct, because I couldn't work out easily whether the HOST_LOCK is
> held or not on all paths to qla1280_bus_reset().
Right fix would probably be to take the lock always before calling..
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: qla1280 bandaid
2003-09-02 4:57 qla1280 bandaid Peter Chubb
2003-09-02 20:18 ` Christoph Hellwig
@ 2003-09-03 16:46 ` Jes Sorensen
1 sibling, 0 replies; 3+ messages in thread
From: Jes Sorensen @ 2003-09-03 16:46 UTC (permalink / raw)
To: linux-ia64
>>>>> "Christoph" = Christoph Hellwig <hch@infradead.org> writes:
Christoph> On Tue, Sep 02, 2003 at 02:57:15PM +1000, Peter Chubb
Christoph> wrote:
>> Hi Jes, The problem is that bus_reset drops the HOST_LOCK when it
>> calls schedule_timeout, but when it's called from the
>> initialisation code, HOST_LOCK isn't actually held.
>>
>> The appended patch fixes this; however, I'm not sure that it's
>> correct, because I couldn't work out easily whether the HOST_LOCK
>> is held or not on all paths to qla1280_bus_reset().
Christoph> Right fix would probably be to take the lock always before
Christoph> calling..
Peter and Christoph,
Thanks for the info, I'll take a look at integrating this into the
next version.
Cheers,
Jes
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2003-09-03 16:46 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-09-02 4:57 qla1280 bandaid Peter Chubb
2003-09-02 20:18 ` Christoph Hellwig
2003-09-03 16:46 ` Jes Sorensen
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox