24 Aug, 2013
1 commit
-
Old version: 2.7.2.2
New version: 2.7.6.2Signed-off-by: Eddie Wai
Signed-off-by: James Bottomley
27 Nov, 2012
1 commit
-
Removed the individual PCI DEVICE ID checking inside bnx2i. The device
type can easily be read from the corresponding cnic->flags. This will
free bnx2i from having to get updated for every new device ID that gets
added.Signed-off-by: Eddie Wai
Acked-by: Michael Chan
Reviewed-by: Mike Christie
Signed-off-by: James Bottomley
20 Jul, 2012
1 commit
-
Conflicts:
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
08 Jul, 2012
1 commit
-
The netdev->base_addr parameter has been deprecated in the L2 bnx2
driver. This is used by bnx2i for the BARn iomapping.This patch will directly reference the pci_resource_start instead
of using the deprecated netdev->base_addr.This patch is actually a critical bug fix as the 1G bnx2 driver no
longer supports the netdev->base_addr in the current kernel of the scsi
tree. This means that Broadcom's 1G Linux iSCSI offload solution would
not work at all without this patch.Signed-off-by: Eddie Wai
Reviewed-by: Mike Christie
Signed-off-by: James Bottomley
27 Jun, 2012
1 commit
-
1. When FCoE offload driver is registered, copy its capabilities to the chip
scratchpad.
2. Copy FCoE/iSCSI MAC addresses in aligned manner to chip scratchpad.
3. Add FCoE/iSCSI statistics collection supportSigned-off-by: Barak Witkowski
Signed-off-by: Eilon Greenstein
Signed-off-by: Eddie Wai
Signed-off-by: Michael Chan
Signed-off-by: Bhanu Prakash Gollapudi
Signed-off-by: David S. Miller
10 May, 2012
2 commits
-
Old version: 2.7.0.3
New version: 2.7.2.2Signed-off-by: Eddie Wai
Reviewed-by: Mike Christie
Signed-off-by: James Bottomley -
This will set the target can_queue limit to the number of preallocated
session tasks set during creation."Could not send nopout" messages were observed without this when the
iSCSI connection experiences dropped frames under heavy I/O stress.Signed-off-by: Eddie Wai
Reviewed-by: Mike Christie
Signed-off-by: James Bottomley
04 Jan, 2012
1 commit
-
Signed-off-by: Al Viro
27 Aug, 2011
3 commits
-
The iscsi class currently does not support writable sysfs
attrs for LLD sysfs settings. This patch converts the
iscsi class and driver's host attrs to use the attribute
container sysfs group and the sysfs group's is_visible callout
to be able to support readable or writable sysfs attrs.Signed-off-by: Mike Christie
Signed-off-by: James Bottomley -
The iscsi class currently does not support writable sysfs
attrs for LLD sysfs settings. This patch converts the
iscsi class and driver's session attrs to use the attribute
container sysfs group and the sysfs group's is_visible callout
to be able to support readable or writable sysfs attrs.Signed-off-by: Mike Christie
Signed-off-by: James Bottomley -
The iscsi class currently does not support writable sysfs
attrs for LLD sysfs settings. This patch converts the
iscsi class and drivers to use the attribute container
sysfs group and the sysfs group's is_visible callout
to be able to support readable or writable sysfs attrs.Signed-off-by: Mike Christie
Signed-off-by: James Bottomley
28 Jul, 2011
1 commit
-
* 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending:
target: Convert to DIV_ROUND_UP_SECTOR_T usage for sectors / dev_max_sectors
kernel.h: Add DIV_ROUND_UP_ULL and DIV_ROUND_UP_SECTOR_T macro usage
iscsi-target: Add iSCSI fabric support for target v4.1
iscsi: Add Serial Number Arithmetic LT and GT into iscsi_proto.h
iscsi: Use struct scsi_lun in iscsi structs instead of u8[8]
iscsi: Resolve iscsi_proto.h naming conflicts with drivers/target/iscsi
25 Jul, 2011
1 commit
-
This patch renames the following iscsi_proto.h structures to avoid
namespace issues with drivers/target/iscsi/iscsi_target_core.h:*) struct iscsi_cmd -> struct iscsi_scsi_req
*) struct iscsi_cmd_rsp -> struct iscsi_scsi_rsp
*) struct iscsi_login -> struct iscsi_login_reqThis patch includes useful ISCSI_FLAG_LOGIN_[CURRENT,NEXT]_STAGE*,
and ISCSI_FLAG_SNACK_TYPE_* definitions used by iscsi_target_mod, and
fixes the incorrect definition of struct iscsi_snack to following
RFC-3720 Section 10.16. SNACK Request.Also, this patch updates libiscsi, iSER, be2iscsi, and bn2xi to
use the updated structure definitions in a handful of locations.Signed-off-by: Mike Christie
Signed-off-by: Nicholas A. Bellinger
30 Jun, 2011
2 commits
-
Bumped version from 2.6.2.3 to 2.7.0.3
Signed-off-by: Eddie Wai
Signed-off-by: James Bottomley -
This patch breaks the SCSI cmd completion into two parts:
1. The bh will allocate and queued work to the cmd specific CPU IO
completion kthread. The CPU for the cmd is from the sc->request->cpu.2. The CPU specific IO completion kthread will call the scsi_cmd_resp
routine to do the actual cmd completion.In the normal case, these IO completion kthreads should complete before
the blk IO times out at 60s. However, in the case when these kthreads
are blocked for whatever reason and exceeded the timeout, the call
to conn_destroy will have to iterate and exhaust all related work in the
percpu work list for all online CPUs. This will guarantee the protection
of the work->session and conn pointers before they get freed.Also modified the event coalescing formula to have at least the
event_coal_min outstanding cmds in the pipeline so the SCSI producer
would not get underrun.Also changed the following SCSI parameters:
- can_queue from 1024 to 2048
- cmds_per_lun from 24 to 128Signed-off-by: Eddie Wai
Acked-by: Benjamin Li
Acked-by: Michael Chan
Signed-off-by: James Bottomley
25 May, 2011
3 commits
-
Modified the event coalescing code for iSCSI offload to combat both
corner cases and optimize performance as follows:1. Added mechanism to loop back a second time to process any leftover
CQEs that was generated by the hardware during the time the driver is
busy processing previous CQEs in the bh. This not only helps the
performance but also fixes the corner case when no more CQEs are being
generated in the pipeline; so those leftover CQEs will get a a chance
to be processed.2. Added ARM_CQE_FP to distinguish between fast path arming versus
slow path arming. This change will guarantee that the CQEs will
always get a chance to be re-armed during fast path completions.3. Removed the inline event coalescing division for perf optimization.
Also fixed a division-by-zero error when the event_coal_div module
param was set to 0.4. Changed the default SQ WQEs size from 256 to 128 to match chip
default.5. Changed the cmd_per_lun from 32 to 24.
Signed-off-by: Eddie Wai
Reviewed-by: Mike Christie
Signed-off-by: James Bottomley -
Modified the 10s wait time for inflight offload connections to
advance to the next state to 2s based on test result.
Modified the 20s shutdown timeout to 30s based on test result.Signed-off-by: Eddie Wai
Reviewed-by: Mike Christie
Cc: stable@kernel.org
Signed-off-by: James Bottomley -
The number of chip's internal command cell, which is use to generate
SCSI cmd packets to the target, was not initialized correctly by
the driver when the sq_size is changed from the default 128.
This, in turn, will create a problem where the chip's transmit pipe
will erroneously reuse an old command cell that is no longer valid.
The fix is to correctly initialize the chip's command cell upon setup.Signed-off-by: Eddie Wai
Reviewed-by: Mike Christie
Cc: stable@kernel.org
Signed-off-by: James Bottomley
25 Feb, 2011
3 commits
-
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
Signed-off-by: James Bottomley -
This is part of an effort to support send target discovery via
the iSCSI offload path.Signed-off-by: Eddie Wai
Signed-off-by: Mike Christie
Signed-off-by: James Bottomley -
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
Signed-off-by: Mike Christie
Signed-off-by: James Bottomley
22 Dec, 2010
9 commits
-
Signed-off-by: Eddie Wai
Signed-off-by: James Bottomley -
Various error conditions inside ep_connect and ep_disconnect were
either not being handled or not being handled correctly. This patch
fixes all those issues.Signed-off-by: Eddie Wai
Acked-by: Anil Veerabhadrappa
Reviewed-by: Mike Christie
Signed-off-by: James Bottomley -
Added the handling for cases when a chip request is made to the
CNIC module but the hardware is not ready to accept. This would
lead to many unnecessary wait timeouts.
This code adds check in the connect establishment and destruction
path.Signed-off-by: Eddie Wai
Reviewed-by: Mike Christie
Signed-off-by: James Bottomley -
The stop path has been augmented to wait a max of 10s for all in
progress offload and destroy activities to complete before proceeding
to terminate all active connections (via iscsid or forcefully).Note that any new offload and destroy requests are now blocked and
return to the caller immediately.Signed-off-by: Eddie Wai
Acked-by: Anil Veerabhadrappa
Reviewed-by: Benjamin Li
Reviewed-by: Michael Chan
Reviewed-by: Mike Christie
Signed-off-by: James Bottomley -
The code no longer needs to dynamically register and unregister
the CNIC device. The CNIC device will be kept registered until
module unload.Signed-off-by: Eddie Wai
Reviewed-by: Michael Chan
Reviewed-by: Mike Christie
Signed-off-by: James Bottomley -
Added net_dev mutex lock protection before accessing the csk
parameters.Signed-off-by: Eddie Wai
Reviewed-by: Benjamin Li
Reviewed-by: Mike Christie
Signed-off-by: James Bottomley -
In the situation where the connect completion response arrives after
the connect request has already timed out, the connection was not being
aborted but only the resource was being freed. This creates a problem
for 5771X (10g) as the chip flags this with an assertion.This change will properly aborts the connection before freeing the
resource.Signed-off-by: Eddie Wai
Reviewed-by: Mike Christie
Signed-off-by: James Bottomley -
Modified the handling of the remote TCP RST code so the chip can now
flush the tx pipe accordingly upon a remote TCP RST reception.Signed-off-by: Eddie Wai
Reviewed-by: Mike Christie
Signed-off-by: James Bottomley -
A cid leak issue was found when the connect destroy request exceeded
the driver's disconnection timeout. This will lead to a cid resource
leak issue.
The fix is to allow the cid cleanup even when this happens.Signed-off-by: Eddie Wai
Acked-by: Anil Veerabhadrappa
Reviewed-by: Michael Chan
Reviewed-by: Mike Christie
Signed-off-by: James Bottomley
06 Sep, 2010
3 commits
-
In the case when an ep_connect request is interrupted due to route
request stall, if the iSCSI daemon is terminated by the user, the chip
will be left in a state which will not get cleaned up upon module
removal. Upon module reload, when the same context id is used for a
new connection, chip panic would occur.This patch adds chip cleanup in the module removal path.
Signed-off-by: Eddie Wai
Acked-by: Benjamin Li
Reviewed-by: Mike Christie
Signed-off-by: James Bottomley -
Specific to the Broadcom 10g chipset, the CFC delete operation must be
coupled with the cm_abort/close with does the SRC delete/terminate offload
operation prior.Signed-off-by: Eddie Wai
Reviewed-by: Michael Chan
Acked-by: Benjamin Li
Reviewed-by: Mike Christie
Signed-off-by: James Bottomley -
According to RFC3720, nopout packet sent in response to unsolicited
nopin packet requesting a response must retain the TTT of the requester.Signed-off-by: Eddie Wai
Reviewed-by: Mike Christie
Signed-off-by: James Bottomley
28 Jul, 2010
6 commits
-
This sysfs attribute is proven to be useful during pivot_root.
Signed-off-by: Michael Chan
Signed-off-by: Eddie Wai
Reviewed-by: Benjamin Li
Acked-by: Anil Veerabhadrappa
Reviewed-by: Mike Christie
Signed-off-by: James Bottomley -
In compliance to RFC793, a TCP graceful termination will be used
instead of an abortive termination for the case where the remote
has initiated the close of the connection.
Additionally, a TCP abortive termination will be used to close the
connection when a logout response is not received in time after a
logout request has been initiated.Signed-off-by: Eddie Wai
Reviewed-by: Michael Chan
Reviewed-by: Benjamin Li
Acked-by: Anil Veerabhadrappa
Reviewed-by: Mike Christie
Signed-off-by: James Bottomley -
Added variables to separate the fine tuned timeout values for
connection destroy and context destroy for both 1g and 10g devices.v2: Extended the 5771X disconnect timeout from 10s to 20s as the firmware
has a retransmission timeout of 16s. This fixes one of the iscsi_endpoint
leak issues when the target is slow or non-responsive to our TCP FIN.Signed-off-by: Eddie Wai
Reviewed-by: Michael Chan
Reviewed-by: Benjamin Li
Acked-by: Anil Veerabhadrappa
Reviewed-by: Mike Christie
Signed-off-by: James Bottomley -
For cases where the iSCSI disconnection procedure times out due to
the iSCSI daemon being slow or unresponsive, the bnx2i_stop routine
will now perform hardware cleanup via bnx2i_hw_ep_disconnect on all
active endpoints so that subsequent operations will perform properly.
Also moved the mutex locks inside ep_connect and ep_disconnect so
that proper exclusivity can resolve simultaneous calls to the
ep_disconnect routine.v2: Removed the unnecessary read lock in the bnx2i_stop
Signed-off-by: Eddie Wai
Reviewed-by: Michael Chan
Reviewed-by: Benjamin Li
Acked-by: Anil Veerabhadrappa
Reviewed-by: Mike Christie
Signed-off-by: James Bottomley -
This introduces a new active linklist which would link up all active
bnx2i_endpoints. This will be used by subsequent patches that
follows.Signed-off-by: Eddie Wai
Reviewed-by: Michael Chan
Reviewed-by: Benjamin Li
Acked-by: Anil Veerabhadrappa
Reviewed-by: Mike Christie
Signed-off-by: James Bottomley -
This patch introduces a new bnx2i_hw_ep_disconnect routine which
contains all chip related disconnect and clean up procedure of
iSCSI offload connections. This separation is intended as a
preparation for the subsequent bnx2i_stop patch.Signed-off-by: Eddie Wai
Reviewed-by: Michael Chan
Reviewed-by: Benjamin Li
Reviewed-by: Mike Christie
Acked-by: Anil Veerabhadrappa
Signed-off-by: James Bottomley
12 Apr, 2010
1 commit
-
bnx2i driver has to wait and cleanup all iscsi endpoints before
returning from bnx2i_stop(). This is to make sure all chip resources
are freed before chip is reset.As the requirements for 1G and 10G chipsets is different, added
per-device 'hba_shutdown_tmo' parameter to adapter structureIf the connections are not torn down by the daemon within this timeout
period, 'cid's will be leaked in 10G device. 1G devices are more
flexible and do not leak any resources because the whole chip ports
gets reset when MTU is changed or ethtool selftest is runfixed a minor issue in bnx2i_ep_poll() which unnecessarily forced
error return code when driver timed out waiting for TCP connect
request to completeSigned-off-by: Anil Veerabhadrappa
Reviewed-by: Mike Christie
Signed-off-by: James Bottomley