Age | Commit message (Collapse) | Author | Files | Lines |
|
If the port takes a while to transition we could exhaust
the retries when using DID_TRANSPORT_DISRUPTED. For this
case we do not want to use any of the cmd's
retries, because if the command was running then when
it got failed the retry counter was already incremented.
And if this is the first time we are seeing the command,
(it got queued because it slipped through during the race)
then it should not have its retries incremented. The
fc class will decide the correct handling later.
Signed-off-by: Mike Christie <[email protected]>
Acked-by: James Smart <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
|
|
Get rid of old users of of_platform_driver in arch/sparc. Most
of_platform_driver users can be converted to use the platform_bus
directly.
Signed-off-by: Grant Likely <[email protected]>
|
|
We'll be using the new version number scheme from now on.
The 'k' in the version in the past will be removed.
The format will be: <major>.<minor>.<sub_minor>.<iter>
A scsi-misc submission increments <sub_minor> and resets <iter>.
An scsi-rc-fixes submission, increments <iter>.
Signed-off-by: Madhuranath Iyengar <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
|
|
The fc_block_scsi_eh() might return with status FAST_IO_FAIL
indicating I/O has been terminated due to fast_io_fail timeout.
In this case the rport is still blocked, so any error recovery
will be failing on this port. Hence we need to check if the
return value from fc_block_scsi_eh() is something other than 0,
in which case it should just return with that status.
Signed-off-by: Andrew Vasquez <[email protected]>
Signed-off-by: Madhuranath Iyengar <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
|
|
completion.
If adapter is not online, the driver will not process the response queue, even
on getting an interrupt.
Signed-off-by: Saurav Kashyap <[email protected]>
Signed-off-by: Madhuranath Iyengar <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
|
|
Signed-off-by: Andrew Vasquez <[email protected]>
Signed-off-by: Madhuranath Iyengar <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
|
|
Based on reading of the FCP2/4 specification, the driver cannot
expect the storage device to send FCP_RSP information. Instead,
the driver should interpret the data which is present in the frame
to base decisions on the success or failure of the system.
Signed-off-by: Andrew Vasquez <[email protected]>
Signed-off-by: Madhuranath Iyengar <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
|
|
By not clearing the 'login needed' nor 'login outstanding' states
for an fcport after a big-hammer (adapter reset), the driver may
not properly perform a PLOGI/PRLI sequence (and lose visibility
to the rport) during a follow-on SNS scan.
Signed-off-by: Andrew Vasquez <[email protected]>
Signed-off-by: Madhuranath Iyengar <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
|
|
Signed-off-by: Andrew Vasquez <[email protected]>
Signed-off-by: Giridhar Malavali <[email protected]>
Signed-off-by: Madhuranath Iyengar <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
|
|
firmware is hung.
Signed-off-by: Giridhar Malavali <[email protected]>
Signed-off-by: Madhuranath Iyengar <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
|
|
Signed-off-by: Giridhar Malavali <[email protected]>
Signed-off-by: Madhuranath Iyengar <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
|
|
Signed-off-by: Giridhar Malavali <[email protected]>
Signed-off-by: Madhuranath Iyengar <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
|
|
on ISP82xx.
Signed-off-by: Giridhar Malavali <[email protected]>
Signed-off-by: Madhuranath Iyengar <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
|
|
qla2xx_build_scsi_type_6_iocbs().
The additional increment of dsd_seg was causing the compiler to throw an array
out of bounds warning. This patch moves to a direct assignment of
cmd_pkt->fcp_data_dseg_len so that the compiler doesn't generate an array out
bounds warning.
Signed-off-by: Chad Dupuis <[email protected]>
Signed-off-by: Madhuranath Iyengar <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
|
|
Also in qla_os.c, rename the function, remove DEF_SCSI_QCMD, etc.
Signed-off-by: Madhuranath Iyengar <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
|
|
The ep_disconnect function could be freeing the ep
while beiscsi_conn_get_param is running. This has
the driver use the get ep param callback instead
of the get conn param to fix this.
Signed-off-by: Mike Christie <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
|
|
bnx2i has some checks to try and make sure the ep
is not destroyed while the addr/port is getting
read. However, if after this check:
if (!(bnx2i_conn && bnx2i_conn->ep && bnx2i_conn->ep->hba))
goto out;
bnx2i_conn->ep is cleared by ep_disconnect then we will
oops.
This patches fixes the problem by having the driver
use the get_ep_param callback instead of get_conn_param.
Signed-off-by: Mike Christie <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
|
|
This has cxgbi use the iscsi_conn_get_addr_param helper
and the get ep callback.
Signed-off-by: Mike Christie <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
|
|
For drivers using the ep callbacks the addr and port
are attached to the endpoint instead of the conn.
This adds a callout to the iscsi_transport to get
ep values. It also adds locking around the get
param call to make sure that ep_disconnect does
not free the LLD's ep interconnect structs from
under us (the ep has a refcount so it will not
go away but the LLD may have structs from other
subsystems that are not allocated in the ep so
we need to protect them from getting freed).
Signed-off-by: Mike Christie <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
|
|
This has iscsi_tcp use the iscsi_conn_get_addr_param
libiscsi function. It also drops the use of the libiscsi
session portal buffers, so they can be removed in
the next patches. Instead of copying the values
at bind time we get them during get() time. If we are
not connected userspace will now get -ENOTCONN,
so it knows that connection is disconnected instead
of a possible stale value.
Signed-off-by: Mike Christie <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
|
|
This adds a helper to convert a addr struct to
a string. This will be used by the drivers in
the next patches.
Signed-off-by: Mike Christie <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
|
|
The active variable on the iscsi_cls_conn is not used
so this patch removes it.
Signed-off-by: Mike Christie <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
|
|
When iscsid restarts it does not know the connection's
endpoint, so it is getting leaked. This fixes the problem
by having the iscsi class force a disconnect before a
new connection is bound.
Signed-off-by: Mike Christie <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
|
|
cxgb3i and cxgb4i support TEXT PDU offloading, so set
the bits to enable it.
Signed-off-by: Mike Christie <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
|
|
Signed-off-by: Eddie Wai <[email protected]>
Signed-off-by: Mike Christie <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
|
|
This is part of an effort to support send target discovery via
the iSCSI offload path.
Signed-off-by: Eddie Wai <[email protected]>
Signed-off-by: Mike Christie <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
|
|
For scenarios where the shost is not being passed to bnx2i for the
iSCSI offload connection request, the code would consult the routing
table to select the CNIC device.
This code path will erroneously error out if the corresponding L2
interface's MTU has been setup to > 1500.
Signed-off-by: Eddie Wai <[email protected]>
Signed-off-by: Mike Christie <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
|
|
Moved all PCI_DEVICE_ID_NX2_57712(E) definitions to pci_ids.h
Signed-off-by: Eddie Wai <[email protected]>
Acked-by: Michael Chan <[email protected]>
Acked-by: Eilon Greenstein <[email protected]>
Signed-off-by: Mike Christie <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
|
|
The hba will now be unregistered and freed when iSCSI offload
is not supported by the NIC.
Signed-off-by: Eddie Wai <[email protected]>
Signed-off-by: Mike Christie <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
|
|
Fixed a bug where the 64-bit LUN field for nopouts were 32-bit swapped.
This only pertains to 5771X devices.
Signed-off-by: Eddie Wai <[email protected]>
Signed-off-by: Mike Christie <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
|
|
Allow CNIC to go through the proper cleanup procedure for an endpoint
which failed to connect. Proper cleanup is necessary for the chip
to reset back to the initial state for the offloaded endpoint.
Signed-off-by: Eddie Wai <[email protected]>
Signed-off-by: Mike Christie <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
|
|
|
|
Signed-off-by: Alex Iannicelli <[email protected]>
Signed-off-by: James Smart <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
|
|
- Add the driver debugfs framework for supporting debugfs read and write
operations, and iDiag command structure.
- Add read and write to SLI4 device PCI config space registers.
- Add the driver support of debugfs PCI config space register bits set/clear
methods to the provided bitmask.
- Add iDiag driver support for SLI4 device queue diagnostic.
Signed-off-by: Alex Iannicelli <[email protected]>
Signed-off-by: James Smart <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
|
|
- Make link speed not supported by port message an error message.
- Add support for new SLI failure codes add sysfs parameter to reflect the
security setting and current state.
- Add all lpfc module parameters to the /sys/modules/lpfc/parameters directory.
[jejb: fix up compile failure]
Signed-off-by: Alex Iannicelli <[email protected]>
Signed-off-by: James Smart <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
|
|
FC Discovery changes
- Treat received PLOGI while logged in as a relogin (unregister and reregister).
- Added a timer to delay Nport discovery when clean bit is cleared and Fabric
portname/nodename/FCID is changed.
- Invalidate Port's DID when receiving PLOGI from p2p port with CONFIG_PORT
mailbox command.
Signed-off-by: Alex Iannicelli <[email protected]>
Signed-off-by: James Smart <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
|
|
RRQ Implementation fixes
- Added checks to prevent a call to findnode_did in clr_active_rrq
- Added the del_sync_timer call for the rrq_tmr to the stop_hba_timers routine.
- Added a check in __lpfc_set_active_rrq for the driver unloading to prevent
adding an rrq when the driver is being removed.
- Add code to scsi_iocb_cmpl to check for the remote stop and add the rrq.
- Added the same check to els retry.
- Added code to compare the source did in the els rrq to the vports did and
chose the right exchange ID.
- Initialize the start_cmd pointer to indicate when we have looped through
all of the scsi buffers.
- Remove the need for the lock around the clearing of the active bit in the
rrq.
- Added code to clean the els and fcp xri aborted list and remove the all of
the RRQs for a deleted vport.
Signed-off-by: Alex Iannicelli <[email protected]>
Signed-off-by: James Smart <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
|
|
Critical Errors:
- Correctly handle non-zero return lpfc_workq_post_event and return ENOMEM
- Save the irq level when locking the host_lock in lpfc_findnode_did
Bug Fixes:
- Adjust payload_length and request_length for sli4_config mailbox commands.
- Add the freed sgl/XRI to the tail of the list rather than to the head.
- Set the FC_VPORT_NEEDS_INIT_VPI on vport deletes and check it before
issuing a fdisc on an els retry.
- Only call lpfc_hba_init_link() if phba->cfg_suppress_link_up
is LPFC_INITIALIZE_LINK.
- Add support for SLI-4 Performance Hints
Signed-off-by: Alex Iannicelli <[email protected]>
Signed-off-by: James Smart <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
|
|
'!' has higher precedence than '&'. CFGTBL_ChangeReq is 0x1 so the
original code is equivelent to if (!doorbell_value) {...
Signed-off-by: Dan Carpenter <[email protected]>
Acked-by: Stephen M. Cameron <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
|
|
We can get completions left over from before the attempted reset which
will interfere with the kdump. Better to just not make the attempt in
that case.
Signed-off-by: Stephen M. Cameron <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
|
|
Controller will transfer only 32-bits on completion if it
knows we are only using 32-bit tags. Also, some newer controllers
apparently (and erroneously) require that we only use 32-bit tags,
and that we inform the controller of this.
Signed-off-by: Stephen M. Cameron <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
|
|
Signed-off-by: Stephen M. Cameron <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
|
|
It's not enough to simple avoid putting the board into performant
mode, as we have to set up the interrupts differently, etc. When
I originally tested this module parameter, I tested it incorrectly
without realizing it, and the driver was running in performant mode
the whole time unbeknownst to me.
Signed-off-by: Stephen M. Cameron <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
|
|
Driver's internal queues should be FIFO, not LIFO.
This is a port of an almost identical patch from cciss by Jens Axboe.
Signed-off-by: Stephen M. Cameron <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
|
|
In a multiple configuration change scenario a remove notification can be
followed by an immediate add notification for the same device, which
will cause the device to be removed but never added back. This patch
fixes the problem by ensuring that in such situations the device will be
added back.
Signed-off-by: Kleber Sacilotto de Souza <[email protected]>
Acked-by: Brian King <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
|
|
Signed-off-by: Justin P. Mattock <[email protected]>
Signed-off-by: Jiri Kosina <[email protected]>
|
|
If the target device gets lost, this fix is needed, as it causes
negative unintended responses on basic I/O tests. If the target device
gets lost, the upstream qla2xxx driver returns
SCSI_MLQUEUE_TARGET_BUSY which causes an immediate retry without drop
in the number of allowed retries. This semantic change, as a result of
removing FC_DEVICE_LOST check is reasonable, as it only extends a
short transitional period, until the transport is called to notify
that the rport as lost (fc_remote_port_delete()). Once transport
notification is done, fc_remote_port_chkready() check will take over.
Signed-off-by: Andrew Vasquez <[email protected]>
Signed-off-by: Madhuranath Iyengar <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
|
|
|
|
The conversion is quite complex given that the libata new error
handler has to be hooked into the current libsas timeout and error
handling. The way this is done is to process all the failed commands
via libsas first, but if they have no underlying sas task (and they're
on a sata device) assume they are destined for the libata error
handler and send them accordingly.
Finally, activate the port recovery of the libata error handler for
each port known to the host. This is somewhat suboptimal, since that
port may not need recovering, but given the current architecture of
the libata error handler, it's the only way; and the spurious
activation is harmless.
Signed-off-by: James Bottomley <[email protected]>
|
|
Adding MODULE_VERSION for scsi_dh_rdac. This will be helpful sometimes
to get the code level without looking at the code.
Signed-off-by: Babu Moger <[email protected]>
Signed-off-by: James Bottomley <[email protected]>
|