[parisc-linux] Re: 53c700 (LASI SCSI 53c700) hang
James Bottomley
James.Bottomley@HansenPartnership.com
Mon, 04 Feb 2002 13:50:30 -0600
What these errors tell me is that your HD accepted more tags than it could
cope with and then choked. Linux error handler isn't very good at handling
this situation. Also, your disc:
deller@gmx.de said:
> Vendor: QUANTUM Model: FIREBALL_TM3200S Rev: 300X
Is a known trouble causer with tag command queueing. Initially, try taking
the #define NCR_700_MAX_TAGS in drivers/scsi/53c700.h down to 4 or 2 and
recompiling the driver. Alternatively, turn off tagged command queueing
altogether by commenting out this block of code:
if(SCp->device->tagged_supported && !SCp->device->tagged_queue
&& (hostdata->tag_negotiated &(1<<SCp->target)) == 0
&& NCR_700_is_flag_clear(SCp->device, NCR_700_DEV_BEGIN_TAG_QUEUEING)) {
/* upper layer has indicated tags are supported. We don't
* necessarily believe it yet.
*
* NOTE: There is a danger here: the mid layer supports
* tag queuing per LUN. We only support it per PUN because
* of potential reselection issues */
printk(KERN_INFO "scsi%d: (%d:%d) Enabling Tag Command Queuing\n", SCp->
device->host->host_no, SCp->target, SCp->lun);
hostdata->tag_negotiated |= (1<<SCp->target);
NCR_700_set_flag(SCp->device, NCR_700_DEV_BEGIN_TAG_QUEUEING);
SCp->device->tagged_queue = 1;
}
in drivers/scsi/53c700.c at about line 1891.
I am getting around to adding the code changes to make this able to be done as
module/kernel command line options.
James