aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/libfc
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2011-10-28 19:44:18 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2011-10-28 19:44:18 -0400
commitec7ae517537ae5c7b0b2cd7f562dfa3e7a05b954 (patch)
treee6b0c64a51a7c0aa0efd09d4f7a80872e3b1657a /drivers/scsi/libfc
parent97d2eb13a019ec09cc1a7ea2d3705c0b117b3c0d (diff)
parent590134fa78fbdbe5fea78c7ae0b2c3364bc9572f (diff)
Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (204 commits) [SCSI] qla4xxx: export address/port of connection (fix udev disk names) [SCSI] ipr: Fix BUG on adapter dump timeout [SCSI] megaraid_sas: Fix instance access in megasas_reset_timer [SCSI] hpsa: change confusing message to be more clear [SCSI] iscsi class: fix vlan configuration [SCSI] qla4xxx: fix data alignment and use nl helpers [SCSI] iscsi class: fix link local mispelling [SCSI] iscsi class: Replace iscsi_get_next_target_id with IDA [SCSI] aacraid: use lower snprintf() limit [SCSI] lpfc 8.3.27: Change driver version to 8.3.27 [SCSI] lpfc 8.3.27: T10 additions for SLI4 [SCSI] lpfc 8.3.27: Fix queue allocation failure recovery [SCSI] lpfc 8.3.27: Change algorithm for getting physical port name [SCSI] lpfc 8.3.27: Changed worst case mailbox timeout [SCSI] lpfc 8.3.27: Miscellanous logic and interface fixes [SCSI] megaraid_sas: Changelog and version update [SCSI] megaraid_sas: Add driver workaround for PERC5/1068 kdump kernel panic [SCSI] megaraid_sas: Add multiple MSI-X vector/multiple reply queue support [SCSI] megaraid_sas: Add support for MegaRAID 9360/9380 12GB/s controllers [SCSI] megaraid_sas: Clear FUSION_IN_RESET before enabling interrupts ...
Diffstat (limited to 'drivers/scsi/libfc')
-rw-r--r--drivers/scsi/libfc/fc_exch.c11
-rw-r--r--drivers/scsi/libfc/fc_fcp.c2
2 files changed, 5 insertions, 8 deletions
diff --git a/drivers/scsi/libfc/fc_exch.c b/drivers/scsi/libfc/fc_exch.c
index d261e982a2fa..7c055fdca45d 100644
--- a/drivers/scsi/libfc/fc_exch.c
+++ b/drivers/scsi/libfc/fc_exch.c
@@ -65,16 +65,15 @@ static struct workqueue_struct *fc_exch_workqueue;
65 * assigned range of exchanges to per cpu pool. 65 * assigned range of exchanges to per cpu pool.
66 */ 66 */
67struct fc_exch_pool { 67struct fc_exch_pool {
68 spinlock_t lock;
69 struct list_head ex_list;
68 u16 next_index; 70 u16 next_index;
69 u16 total_exches; 71 u16 total_exches;
70 72
71 /* two cache of free slot in exch array */ 73 /* two cache of free slot in exch array */
72 u16 left; 74 u16 left;
73 u16 right; 75 u16 right;
74 76} ____cacheline_aligned_in_smp;
75 spinlock_t lock;
76 struct list_head ex_list;
77};
78 77
79/** 78/**
80 * struct fc_exch_mgr - The Exchange Manager (EM). 79 * struct fc_exch_mgr - The Exchange Manager (EM).
@@ -91,13 +90,13 @@ struct fc_exch_pool {
91 * It manages the allocation of exchange IDs. 90 * It manages the allocation of exchange IDs.
92 */ 91 */
93struct fc_exch_mgr { 92struct fc_exch_mgr {
93 struct fc_exch_pool *pool;
94 mempool_t *ep_pool;
94 enum fc_class class; 95 enum fc_class class;
95 struct kref kref; 96 struct kref kref;
96 u16 min_xid; 97 u16 min_xid;
97 u16 max_xid; 98 u16 max_xid;
98 mempool_t *ep_pool;
99 u16 pool_max_index; 99 u16 pool_max_index;
100 struct fc_exch_pool *pool;
101 100
102 /* 101 /*
103 * currently exchange mgr stats are updated but not used. 102 * currently exchange mgr stats are updated but not used.
diff --git a/drivers/scsi/libfc/fc_fcp.c b/drivers/scsi/libfc/fc_fcp.c
index 4c41ee816f0b..221875ec3d7c 100644
--- a/drivers/scsi/libfc/fc_fcp.c
+++ b/drivers/scsi/libfc/fc_fcp.c
@@ -759,7 +759,6 @@ static void fc_fcp_recv(struct fc_seq *seq, struct fc_frame *fp, void *arg)
759 goto out; 759 goto out;
760 if (fc_fcp_lock_pkt(fsp)) 760 if (fc_fcp_lock_pkt(fsp))
761 goto out; 761 goto out;
762 fsp->last_pkt_time = jiffies;
763 762
764 if (fh->fh_type == FC_TYPE_BLS) { 763 if (fh->fh_type == FC_TYPE_BLS) {
765 fc_fcp_abts_resp(fsp, fp); 764 fc_fcp_abts_resp(fsp, fp);
@@ -1148,7 +1147,6 @@ static int fc_fcp_cmd_send(struct fc_lport *lport, struct fc_fcp_pkt *fsp,
1148 rc = -1; 1147 rc = -1;
1149 goto unlock; 1148 goto unlock;
1150 } 1149 }
1151 fsp->last_pkt_time = jiffies;
1152 fsp->seq_ptr = seq; 1150 fsp->seq_ptr = seq;
1153 fc_fcp_pkt_hold(fsp); /* hold for fc_fcp_pkt_destroy */ 1151 fc_fcp_pkt_hold(fsp); /* hold for fc_fcp_pkt_destroy */
1154 1152