diff options
Diffstat (limited to 'drivers/s390/scsi/zfcp_fc.c')
-rw-r--r-- | drivers/s390/scsi/zfcp_fc.c | 19 |
1 files changed, 5 insertions, 14 deletions
diff --git a/drivers/s390/scsi/zfcp_fc.c b/drivers/s390/scsi/zfcp_fc.c index 6d0fef92567..acadcd3c276 100644 --- a/drivers/s390/scsi/zfcp_fc.c +++ b/drivers/s390/scsi/zfcp_fc.c | |||
@@ -25,14 +25,6 @@ static u32 rscn_range_mask[] = { | |||
25 | [RSCN_FABRIC_ADDRESS] = 0x000000, | 25 | [RSCN_FABRIC_ADDRESS] = 0x000000, |
26 | }; | 26 | }; |
27 | 27 | ||
28 | struct ct_iu_gpn_ft_req { | ||
29 | struct ct_hdr header; | ||
30 | u8 flags; | ||
31 | u8 domain_id_scope; | ||
32 | u8 area_id_scope; | ||
33 | u8 fc4_type; | ||
34 | } __attribute__ ((packed)); | ||
35 | |||
36 | struct gpn_ft_resp_acc { | 28 | struct gpn_ft_resp_acc { |
37 | u8 control; | 29 | u8 control; |
38 | u8 port_id[3]; | 30 | u8 port_id[3]; |
@@ -322,8 +314,7 @@ int static zfcp_fc_ns_gid_pn_request(struct zfcp_erp_action *erp_action, | |||
322 | init_completion(&compl_rec.done); | 314 | init_completion(&compl_rec.done); |
323 | compl_rec.handler = zfcp_fc_ns_gid_pn_eval; | 315 | compl_rec.handler = zfcp_fc_ns_gid_pn_eval; |
324 | compl_rec.handler_data = (unsigned long) gid_pn; | 316 | compl_rec.handler_data = (unsigned long) gid_pn; |
325 | ret = zfcp_fsf_send_ct(&gid_pn->ct, adapter->pool.fsf_req_erp, | 317 | ret = zfcp_fsf_send_ct(&gid_pn->ct, adapter->pool.erp_req, erp_action); |
326 | erp_action); | ||
327 | if (!ret) | 318 | if (!ret) |
328 | wait_for_completion(&compl_rec.done); | 319 | wait_for_completion(&compl_rec.done); |
329 | return ret; | 320 | return ret; |
@@ -340,7 +331,7 @@ int zfcp_fc_ns_gid_pn(struct zfcp_erp_action *erp_action) | |||
340 | struct zfcp_gid_pn_data *gid_pn; | 331 | struct zfcp_gid_pn_data *gid_pn; |
341 | struct zfcp_adapter *adapter = erp_action->adapter; | 332 | struct zfcp_adapter *adapter = erp_action->adapter; |
342 | 333 | ||
343 | gid_pn = mempool_alloc(adapter->pool.data_gid_pn, GFP_ATOMIC); | 334 | gid_pn = mempool_alloc(adapter->pool.gid_pn_data, GFP_ATOMIC); |
344 | if (!gid_pn) | 335 | if (!gid_pn) |
345 | return -ENOMEM; | 336 | return -ENOMEM; |
346 | 337 | ||
@@ -354,7 +345,7 @@ int zfcp_fc_ns_gid_pn(struct zfcp_erp_action *erp_action) | |||
354 | 345 | ||
355 | zfcp_wka_port_put(&adapter->gs->ds); | 346 | zfcp_wka_port_put(&adapter->gs->ds); |
356 | out: | 347 | out: |
357 | mempool_free(gid_pn, adapter->pool.data_gid_pn); | 348 | mempool_free(gid_pn, adapter->pool.gid_pn_data); |
358 | return ret; | 349 | return ret; |
359 | } | 350 | } |
360 | 351 | ||
@@ -497,7 +488,7 @@ static void zfcp_free_sg_env(struct zfcp_gpn_ft *gpn_ft, int buf_num) | |||
497 | { | 488 | { |
498 | struct scatterlist *sg = &gpn_ft->sg_req; | 489 | struct scatterlist *sg = &gpn_ft->sg_req; |
499 | 490 | ||
500 | kfree(sg_virt(sg)); /* free request buffer */ | 491 | kmem_cache_free(zfcp_data.gpn_ft_cache, sg_virt(sg)); |
501 | zfcp_sg_free_table(gpn_ft->sg_resp, buf_num); | 492 | zfcp_sg_free_table(gpn_ft->sg_resp, buf_num); |
502 | 493 | ||
503 | kfree(gpn_ft); | 494 | kfree(gpn_ft); |
@@ -512,7 +503,7 @@ static struct zfcp_gpn_ft *zfcp_alloc_sg_env(int buf_num) | |||
512 | if (!gpn_ft) | 503 | if (!gpn_ft) |
513 | return NULL; | 504 | return NULL; |
514 | 505 | ||
515 | req = kzalloc(sizeof(struct ct_iu_gpn_ft_req), GFP_KERNEL); | 506 | req = kmem_cache_alloc(zfcp_data.gpn_ft_cache, GFP_KERNEL); |
516 | if (!req) { | 507 | if (!req) { |
517 | kfree(gpn_ft); | 508 | kfree(gpn_ft); |
518 | gpn_ft = NULL; | 509 | gpn_ft = NULL; |