[Bug 199887] Fibre login failure on older adapters

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

 



https://bugzilla.kernel.org/show_bug.cgi?id=199887

--- Comment #5 from Pavel Kankovsky (peak@xxxxxxxxxxxxxxxxxxxxxx) ---
Some additional findings:

1. It turns out qla2x00_get_node_name_list() was introduced in 3.5 and it was
called from qla_target.c until 3.11 when the call was removed and the function
remained unused until its own removal in 4.11.

I have not tested whether it would work on an old HBA but it is far from
certain (its result was an array of "struct qla_port_24xx_data", corresponding
to "struct get_name_list" in recent versions), and even if it would, it would
not help much (there seem to be two variants of MBC_PORT_NODE_NAME_LIST, the
old function invoked the variant providing less data while the current code
needs the variant providing more data, "struct get_name_list_extended").

2. The driver is sometimes unable to relogin when an old HBA reconnects to the
fabric because "Async-login" keeps failing with 4007 ie. MBS_PORT_ID_USED. It
turns out qla24xx_handle_plogi_done_event expects an offending loopid in
ea->iop[1] but qla2x00_mbx_iocb_entry stores the value in ea->data[1].

(A similar problem occurs during the handling 4008 ie. MBS_LOOP_ID_USED when
qla24xx_handle_plogi_done_event expects an offending portid in ea->iop[1] but
it is not stored anywhere. But the driver seems to be able to recover in this
case.)

3. Newer HBAs seem to use the same command (MBC_LOGIN_FABRIC_PORT) for both
fabric and private loop port login but old HBAs need a different command
(MBC_LOGIN_LOOP_PORT) in the latter case. See qla2x00_local_device_login.

-- 
You may reply to this email to add a comment.

You are receiving this mail because:
You are watching the assignee of the bug.



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]

  Powered by Linux