aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'drivers')
-rw-r--r--drivers/s390/scsi/zfcp_aux.c12
-rw-r--r--drivers/s390/scsi/zfcp_def.h1
-rw-r--r--drivers/s390/scsi/zfcp_ext.h1
-rw-r--r--drivers/s390/scsi/zfcp_fsf.c6
4 files changed, 11 insertions, 9 deletions
diff --git a/drivers/s390/scsi/zfcp_aux.c b/drivers/s390/scsi/zfcp_aux.c
index 324fb1aab6f5..c94b666057cf 100644
--- a/drivers/s390/scsi/zfcp_aux.c
+++ b/drivers/s390/scsi/zfcp_aux.c
@@ -122,9 +122,9 @@ static int __init zfcp_module_init(void)
122{ 122{
123 int retval = -ENOMEM; 123 int retval = -ENOMEM;
124 124
125 zfcp_data.qtcb_cache = zfcp_cache_hw_align("zfcp_qtcb", 125 zfcp_fsf_qtcb_cache = zfcp_cache_hw_align("zfcp_fsf_qtcb",
126 sizeof(struct fsf_qtcb)); 126 sizeof(struct fsf_qtcb));
127 if (!zfcp_data.qtcb_cache) 127 if (!zfcp_fsf_qtcb_cache)
128 goto out_qtcb_cache; 128 goto out_qtcb_cache;
129 129
130 zfcp_fc_req_cache = zfcp_cache_hw_align("zfcp_fc_req", 130 zfcp_fc_req_cache = zfcp_cache_hw_align("zfcp_fc_req",
@@ -164,7 +164,7 @@ out_misc:
164out_transport: 164out_transport:
165 kmem_cache_destroy(zfcp_fc_req_cache); 165 kmem_cache_destroy(zfcp_fc_req_cache);
166out_fc_cache: 166out_fc_cache:
167 kmem_cache_destroy(zfcp_data.qtcb_cache); 167 kmem_cache_destroy(zfcp_fsf_qtcb_cache);
168out_qtcb_cache: 168out_qtcb_cache:
169 return retval; 169 return retval;
170} 170}
@@ -177,7 +177,7 @@ static void __exit zfcp_module_exit(void)
177 misc_deregister(&zfcp_cfdc_misc); 177 misc_deregister(&zfcp_cfdc_misc);
178 fc_release_transport(zfcp_data.scsi_transport_template); 178 fc_release_transport(zfcp_data.scsi_transport_template);
179 kmem_cache_destroy(zfcp_fc_req_cache); 179 kmem_cache_destroy(zfcp_fc_req_cache);
180 kmem_cache_destroy(zfcp_data.qtcb_cache); 180 kmem_cache_destroy(zfcp_fsf_qtcb_cache);
181} 181}
182 182
183module_exit(zfcp_module_exit); 183module_exit(zfcp_module_exit);
@@ -236,7 +236,7 @@ static int zfcp_allocate_low_mem_buffers(struct zfcp_adapter *adapter)
236 return -ENOMEM; 236 return -ENOMEM;
237 237
238 adapter->pool.qtcb_pool = 238 adapter->pool.qtcb_pool =
239 mempool_create_slab_pool(4, zfcp_data.qtcb_cache); 239 mempool_create_slab_pool(4, zfcp_fsf_qtcb_cache);
240 if (!adapter->pool.qtcb_pool) 240 if (!adapter->pool.qtcb_pool)
241 return -ENOMEM; 241 return -ENOMEM;
242 242
diff --git a/drivers/s390/scsi/zfcp_def.h b/drivers/s390/scsi/zfcp_def.h
index d7e2534ed66e..6a764337f06e 100644
--- a/drivers/s390/scsi/zfcp_def.h
+++ b/drivers/s390/scsi/zfcp_def.h
@@ -317,7 +317,6 @@ struct zfcp_fsf_req {
317struct zfcp_data { 317struct zfcp_data {
318 struct scsi_host_template scsi_host_template; 318 struct scsi_host_template scsi_host_template;
319 struct scsi_transport_template *scsi_transport_template; 319 struct scsi_transport_template *scsi_transport_template;
320 struct kmem_cache *qtcb_cache;
321}; 320};
322 321
323#endif /* ZFCP_DEF_H */ 322#endif /* ZFCP_DEF_H */
diff --git a/drivers/s390/scsi/zfcp_ext.h b/drivers/s390/scsi/zfcp_ext.h
index fa1834f211aa..58c7e57ed615 100644
--- a/drivers/s390/scsi/zfcp_ext.h
+++ b/drivers/s390/scsi/zfcp_ext.h
@@ -98,6 +98,7 @@ extern int zfcp_fc_exec_bsg_job(struct fc_bsg_job *);
98extern int zfcp_fc_timeout_bsg_job(struct fc_bsg_job *); 98extern int zfcp_fc_timeout_bsg_job(struct fc_bsg_job *);
99 99
100/* zfcp_fsf.c */ 100/* zfcp_fsf.c */
101extern struct kmem_cache *zfcp_fsf_qtcb_cache;
101extern int zfcp_fsf_open_port(struct zfcp_erp_action *); 102extern int zfcp_fsf_open_port(struct zfcp_erp_action *);
102extern int zfcp_fsf_open_wka_port(struct zfcp_fc_wka_port *); 103extern int zfcp_fsf_open_wka_port(struct zfcp_fc_wka_port *);
103extern int zfcp_fsf_close_wka_port(struct zfcp_fc_wka_port *); 104extern int zfcp_fsf_close_wka_port(struct zfcp_fc_wka_port *);
diff --git a/drivers/s390/scsi/zfcp_fsf.c b/drivers/s390/scsi/zfcp_fsf.c
index a2b0e8435fc3..43ee0288c0e9 100644
--- a/drivers/s390/scsi/zfcp_fsf.c
+++ b/drivers/s390/scsi/zfcp_fsf.c
@@ -18,6 +18,8 @@
18#include "zfcp_qdio.h" 18#include "zfcp_qdio.h"
19#include "zfcp_reqlist.h" 19#include "zfcp_reqlist.h"
20 20
21struct kmem_cache *zfcp_fsf_qtcb_cache;
22
21static void zfcp_fsf_request_timeout_handler(unsigned long data) 23static void zfcp_fsf_request_timeout_handler(unsigned long data)
22{ 24{
23 struct zfcp_adapter *adapter = (struct zfcp_adapter *) data; 25 struct zfcp_adapter *adapter = (struct zfcp_adapter *) data;
@@ -83,7 +85,7 @@ void zfcp_fsf_req_free(struct zfcp_fsf_req *req)
83 } 85 }
84 86
85 if (likely(req->qtcb)) 87 if (likely(req->qtcb))
86 kmem_cache_free(zfcp_data.qtcb_cache, req->qtcb); 88 kmem_cache_free(zfcp_fsf_qtcb_cache, req->qtcb);
87 kfree(req); 89 kfree(req);
88} 90}
89 91
@@ -628,7 +630,7 @@ static struct fsf_qtcb *zfcp_qtcb_alloc(mempool_t *pool)
628 if (likely(pool)) 630 if (likely(pool))
629 qtcb = mempool_alloc(pool, GFP_ATOMIC); 631 qtcb = mempool_alloc(pool, GFP_ATOMIC);
630 else 632 else
631 qtcb = kmem_cache_alloc(zfcp_data.qtcb_cache, GFP_ATOMIC); 633 qtcb = kmem_cache_alloc(zfcp_fsf_qtcb_cache, GFP_ATOMIC);
632 634
633 if (unlikely(!qtcb)) 635 if (unlikely(!qtcb))
634 return NULL; 636 return NULL;