Re: Stable backports for qla2xxx target mode

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

 



Greg K-H,

These changes were developed and come to agreement between Qlogic¹s team
and the Target customer.  The customer had verified the fix in their
environment in addition with our test environment.  Even though existing
code is in stable tree show no symptom.  Under stress, we found a nest of
bugs in this section of code.


If you have not had a chance to inspect the individual fix, here¹s quick
summary on each:

>> > > >   a6ca8878 qla2xxx: delay plogi/prli ack until existing sessions
>>are deleted

QT> Data corruption fix.  Commands from old session were criss cross with
new session.  CMD OXID from new session will reuse OXID from old session.
Cmd from old session need to be flushed before new session is established.

>> > > >   daddf5cf qla2xxx: Abort stale cmds on qla_tgt_wq when plogi
>>arrive

QT> Stale pointer access fix.  Driver can loose track of command when cmd
is being submit between fabric driver and target core driver.  When
command shows up on the TCM side, resource/memory could disappear.  The
fix is to start cmd tracking when it¹s alloced.

>> > > >   df673274 qla2xxx: added sess generations to detect RSCN update
>>races

QT> Race condition fix. Stale RSCN could step on a live session causing
session to stop responding to new cmds. Add counter to prevent race
condition.

>> > > >   d20ed91b qla2xxx: disable scsi_transport_fc registration in
>>target mode

QT> Reduce interference by the initiator personality of the driver that
affect  the Target side of the same driver.
 
>> > > >   7359df25 qla2xxx: terminate exchange when command is aborted by
>>LIO

QT> FW resource/Exchange starvation fix.  A change at the TCM API cause
interaction problem.  This cause improper cleanup at the HW level when
SCSI Layer error condition arrive.


>> > > >   8b2f5ff3 qla2xxx: cleanup cmd in qla workqueue before
>>processing TMR

QT> Race condition fix.  CMD & ABTS(i.e. abort) can get out of order that
cause false error respond back to Initiator.  This will lead to higher
escalation of error recovery.

>> > > >   e52a8b45 qla2xxx: drop cmds/tmrs arrived while session is being
>>deleted

QT> Reduce false error.  When session is being deleted, any stale respond
from TCM send to HW will generate false error.  The fix is to intercept
the cmd and advance it to its final state.

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



[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]