[prev in list] [next in list] [prev in thread] [next in thread] 

List:       linux-scsi
Subject:    Re: [PATCH 1/4] aic79xx: Fixup external device reset
From:       James Bottomley <James.Bottomley () SteelEye ! com>
Date:       2006-10-25 15:14:56
Message-ID: 1161789296.3816.0.camel () mulgrave ! il ! steeleye ! com
[Download RAW message or body]

On Wed, 2006-10-25 at 09:01 +0200, Hannes Reinecke wrote:
> > What's the reason for having to have this hand crafted test unit ready?
> > 
> I asked myself the same question. It's actually from the original 
> adaptec sources, and i couldn't figure out why it was need, either.
> That's why I removed it initially when doing the first round of external 
> device reset patches.
> 
> Thing is whenever we send a SCB with the MK_MESSAGE flag set the 
> sequencer will interrupt normal SCB delivery and ensure that the 
> MK_MESSAGE SCB is sent immediately. Plus we can force the connection to 
> non-packetized transfer as the resetted target will start out with 
> normal transfers, too. And as we already have invalidated the 
> negotiation settings for all targets a renegotiation will happen when 
> this TUR is completed.
> So the normal flow of operation can continue and only one command will 
> have to be requeued from the midlayer.
> 
> I think. Or that's what I've glanced from the sequencer code. Maybe Rob 
> can give some more insight here.
> 
> Admittedly, this is really a nasty tweaking. In theory we should have a 
> proper error handler which handles this sort of thing. But the entire 
> code is littered with such tweakings so that's quite a vain hope.
> Unless someone passes me a theory of operation document for it.
> Having a register description is quite pointless.

Yes ... that's what I was wondering.  However, we can go with the "it's
magic" for the time being.

James


-
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic