Re: [PATCH 2.6.21-rc7-mm2 2/2] sata_promise: move port reset from error intr to EH prereset

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Mikael Pettersson wrote:
>> You really don't wanna schedule ATA_EH_SOFTRESET and freeze the port on
>> every error.  If you do that, ATAPI devices will be reset after each
>> CHECK CONDITION and it probably won't work properly.
> 
> Would that be hal polling to see if media has been inserted?

Yes, it can be hal.  It can be anything.  Raising CHECK CONDITION and
reporting the details via sense data is part of normal operations for
ATAPI devices.

>>  FWIW, libata EH
>> automatically issues softreset if the port is frozen (as that's the only
>> way to thaw the port), so setting EH_SOFTRESET is optional if you freeze
>> the port.
>>
>> Another problem is that EH may issue other commands to while trying to
>> recover - e.g. PACKET - REQUEST SENSE or READ LOG PAGE.  This only
>> happens if the port is ready for commands, IOW, !frozen.  Before, the
>> pdc_reset_port() used to be called on entry to EH if it's not frozen but
>> it's not after this patch.  Is this safe?
> 
> Oh dear. I assumed EH would only want to inspect the standard
> status registers, and that's why I wanted to delay the reset.
> If EH wants to talk to the device then it's a very bad idea to
> not have issued a pdc_reset_port() first.

Yeap, if port reset clears some registers, they need to be saved into
appropriate fields in ehi/c or qc.  If something isn't there, please let
me know.

Thanks.

-- 
tejun

-
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Filesystems]     [Linux SCSI]     [Linux RAID]     [Git]     [Kernel Newbies]     [Linux Newbie]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Samba]     [Device Mapper]

  Powered by Linux