Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a28ca3f3 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6:
  [SCSI] bnx2i: Bug fixes related to MTU change issue when there are active iscsi sessions
  [SCSI] ibmvscsi: fix DMA API misuse
  [SCSI] wd7000: fix reset handler typo spin_unlock_irq() => spin_lock_irq()
  [SCSI] zfcp: Fix tracing of requests with error status
  [SCSI] zfcp: Update MAINTAINERS entry
  [SCSI] iscsi_tcp: fix relogin/shutdown hang
  [SCSI] qla2xxx: fix lock imbalance
  [SCSI] lpfc: fix lock imbalances
  [SCSI] be2iscsi: fix lock imbalance
  [SCSI] dpt_i2o: several use after free issues
parents 61fb06cc 490475a9
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -4791,12 +4791,11 @@ F: drivers/s390/crypto/

S390 ZFCP DRIVER
M:	Christof Schmitt <christof.schmitt@de.ibm.com>
M:	Martin Peschke <mp3@de.ibm.com>
M:	Swen Schillig <swen@vnet.ibm.com>
M:	linux390@de.ibm.com
L:	linux-s390@vger.kernel.org
W:	http://www.ibm.com/developerworks/linux/linux390/
S:	Supported
F:	Documentation/s390/zfcpdump.txt
F:	drivers/s390/scsi/zfcp_*

S390 IUCV NETWORK LAYER
+3 −3
Original line number Diff line number Diff line
@@ -2105,7 +2105,8 @@ static void zfcp_fsf_req_trace(struct zfcp_fsf_req *req, struct scsi_cmnd *scsi)
	blktrc.inb_usage = req->qdio_req.qdio_inb_usage;
	blktrc.outb_usage = req->qdio_req.qdio_outb_usage;

	if (req->adapter->adapter_features & FSF_FEATURE_MEASUREMENT_DATA) {
	if (req->adapter->adapter_features & FSF_FEATURE_MEASUREMENT_DATA &&
	    !(req->status & ZFCP_STATUS_FSFREQ_ERROR)) {
		blktrc.flags |= ZFCP_BLK_LAT_VALID;
		blktrc.channel_lat = lat_in->channel_lat * ticks;
		blktrc.fabric_lat = lat_in->fabric_lat * ticks;
@@ -2157,9 +2158,8 @@ static void zfcp_fsf_send_fcp_command_task_handler(struct zfcp_fsf_req *req)
	fcp_rsp = (struct fcp_resp_with_ext *) &req->qtcb->bottom.io.fcp_rsp;
	zfcp_fc_eval_fcp_rsp(fcp_rsp, scpnt);

	zfcp_fsf_req_trace(req, scpnt);

skip_fsfstatus:
	zfcp_fsf_req_trace(req, scpnt);
	zfcp_dbf_scsi_result(req->adapter->dbf, scpnt, req);

	scpnt->host_scribble = NULL;
+1 −0
Original line number Diff line number Diff line
@@ -169,6 +169,7 @@ unsigned char mgmt_invalidate_icds(struct beiscsi_hba *phba,
		SE_DEBUG(DBG_LVL_1,
			 "Failed to allocate memory for"
			 "mgmt_invalidate_icds \n");
		spin_unlock(&ctrl->mbox_lock);
		return -1;
	}
	nonemb_cmd.size = sizeof(struct invalidate_commands_params_in);
+2 −0
Original line number Diff line number Diff line
@@ -362,6 +362,7 @@ struct bnx2i_hba {
	u32 num_ccell;

	int ofld_conns_active;
	wait_queue_head_t eh_wait;

	int max_active_conns;
	struct iscsi_cid_queue cid_que;
@@ -381,6 +382,7 @@ struct bnx2i_hba {
	spinlock_t lock;	/* protects hba structure access */
	struct mutex net_dev_lock;/* sync net device access */

	int hba_shutdown_tmo;
	/*
	 * PCI related info.
	 */
+12 −1
Original line number Diff line number Diff line
@@ -177,11 +177,22 @@ void bnx2i_stop(void *handle)
	struct bnx2i_hba *hba = handle;

	/* check if cleanup happened in GOING_DOWN context */
	clear_bit(ADAPTER_STATE_UP, &hba->adapter_state);
	if (!test_and_clear_bit(ADAPTER_STATE_GOING_DOWN,
				&hba->adapter_state))
		iscsi_host_for_each_session(hba->shost,
					    bnx2i_drop_session);

	/* Wait for all endpoints to be torn down, Chip will be reset once
	 *  control returns to network driver. So it is required to cleanup and
	 * release all connection resources before returning from this routine.
	 */
	wait_event_interruptible_timeout(hba->eh_wait,
					 (hba->ofld_conns_active == 0),
					 hba->hba_shutdown_tmo);
	/* This flag should be cleared last so that ep_disconnect() gracefully
	 * cleans up connection context
	 */
	clear_bit(ADAPTER_STATE_UP, &hba->adapter_state);
}

/**
Loading