Re: [PATCH 11/20] qla2xxx: Add TAS detection for kernel 3.15 n newer

Quinn Tran
2015-12-14T21:58:42Z

[-- Attachment #1: Type: text/plain, Size: 1633 bytes --]

Christoph, Thanks for reviewing. I¹ll withdraw this patch. Will rework
with new code and submit at a later time.

Regards,
Quinn Tran

On 12/14/15, 2:37 AM, "Christoph Hellwig" <hch@infradead.org> wrote:

>On Wed, Dec 09, 2015 at 08:24:57PM +0000, Quinn Tran wrote:
>> >> + if (se_cmd->transport_state & CMD_T_ABORTED) {
>> >> + /* For TCM TAS support n kernel >= 3.15:
>> >> + * This cmd is attempting to respond with "Task Aborted Status".
>> >> + */
>> >> + if (cmd->aborted) {
>> >> + return 0;
>> >> + } else if ((cmd->state == QLA_TGT_STATE_NEED_DATA) &&
>> >> + cmd->cmd_sent_to_fw) {
>> >> + qlt_abort_cmd(cmd);
>> >> + return 0;
>> >> + } else if (cmd->state == QLA_TGT_STATE_PROCESSED) {
>> >> + if (cmd->cmd_sent_to_fw) {
>> >> + qlt_abort_cmd(cmd);
>> >> + return 0;
>> >> + } else { /* about to be free */
>> >> + return 0;
>> >> + }
>> >> + }
>> >> + }
>> >> +
>> >
>> >This is really something that should be explicitly communicated
>> >from the core instead of having to second guess it.
>>
>> QT> The extra protection of the code here is to reduce erroneous error
>> message and interaction error with our firmware. I think communicating
>> back to the core at this stage might add undue complication. It?s best
>>to
>> allow the initiator to re-drive the command at this point.
>
>I agree with that statement, just not how it's done. Having parallel
>command state machines in the driver and core isn't something that's
>maintainable. We need to attack the root cause instead of trying
>to hack around it in drivers.

[-- Attachment #2: winmail.dat --]
[-- Type: application/ms-tnef, Size: 4941 bytes --]