diff options
Diffstat (limited to 'drivers/scsi/libfc')
-rw-r--r-- | drivers/scsi/libfc/fc_exch.c | 11 | ||||
-rw-r--r-- | drivers/scsi/libfc/fc_fcp.c | 2 |
2 files changed, 5 insertions, 8 deletions
diff --git a/drivers/scsi/libfc/fc_exch.c b/drivers/scsi/libfc/fc_exch.c index d261e982a2f..7c055fdca45 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 | */ |
67 | struct fc_exch_pool { | 67 | struct 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 | */ |
93 | struct fc_exch_mgr { | 92 | struct 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 4c41ee816f0..221875ec3d7 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 | ||