diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2011-10-28 19:44:18 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2011-10-28 19:44:18 -0400 |
commit | ec7ae517537ae5c7b0b2cd7f562dfa3e7a05b954 (patch) | |
tree | e6b0c64a51a7c0aa0efd09d4f7a80872e3b1657a /drivers/scsi/libfc | |
parent | 97d2eb13a019ec09cc1a7ea2d3705c0b117b3c0d (diff) | |
parent | 590134fa78fbdbe5fea78c7ae0b2c3364bc9572f (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.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 | ||