public inbox for linux-ia64@vger.kernel.org
 help / color / mirror / Atom feed
* 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