@@ -556,15 +556,15 @@ static void qla2x00_async_sns_sp_done(void *s, int rc)
556
556
/* please ignore kernel warning. otherwise, we have mem leak. */
557
557
if (sp -> u .iocb_cmd .u .ctarg .req ) {
558
558
dma_free_coherent (& vha -> hw -> pdev -> dev ,
559
- sizeof ( struct ct_sns_pkt ) ,
559
+ sp -> u . iocb_cmd . u . ctarg . req_allocated_size ,
560
560
sp -> u .iocb_cmd .u .ctarg .req ,
561
561
sp -> u .iocb_cmd .u .ctarg .req_dma );
562
562
sp -> u .iocb_cmd .u .ctarg .req = NULL ;
563
563
}
564
564
565
565
if (sp -> u .iocb_cmd .u .ctarg .rsp ) {
566
566
dma_free_coherent (& vha -> hw -> pdev -> dev ,
567
- sizeof ( struct ct_sns_pkt ) ,
567
+ sp -> u . iocb_cmd . u . ctarg . rsp_allocated_size ,
568
568
sp -> u .iocb_cmd .u .ctarg .rsp ,
569
569
sp -> u .iocb_cmd .u .ctarg .rsp_dma );
570
570
sp -> u .iocb_cmd .u .ctarg .rsp = NULL ;
@@ -617,6 +617,7 @@ static int qla_async_rftid(scsi_qla_host_t *vha, port_id_t *d_id)
617
617
sp -> u .iocb_cmd .u .ctarg .req = dma_alloc_coherent (& vha -> hw -> pdev -> dev ,
618
618
sizeof (struct ct_sns_pkt ), & sp -> u .iocb_cmd .u .ctarg .req_dma ,
619
619
GFP_KERNEL );
620
+ sp -> u .iocb_cmd .u .ctarg .req_allocated_size = sizeof (struct ct_sns_pkt );
620
621
if (!sp -> u .iocb_cmd .u .ctarg .req ) {
621
622
ql_log (ql_log_warn , vha , 0xd041 ,
622
623
"%s: Failed to allocate ct_sns request.\n" ,
@@ -627,6 +628,7 @@ static int qla_async_rftid(scsi_qla_host_t *vha, port_id_t *d_id)
627
628
sp -> u .iocb_cmd .u .ctarg .rsp = dma_alloc_coherent (& vha -> hw -> pdev -> dev ,
628
629
sizeof (struct ct_sns_pkt ), & sp -> u .iocb_cmd .u .ctarg .rsp_dma ,
629
630
GFP_KERNEL );
631
+ sp -> u .iocb_cmd .u .ctarg .rsp_allocated_size = sizeof (struct ct_sns_pkt );
630
632
if (!sp -> u .iocb_cmd .u .ctarg .rsp ) {
631
633
ql_log (ql_log_warn , vha , 0xd042 ,
632
634
"%s: Failed to allocate ct_sns request.\n" ,
@@ -712,6 +714,7 @@ static int qla_async_rffid(scsi_qla_host_t *vha, port_id_t *d_id,
712
714
sp -> u .iocb_cmd .u .ctarg .req = dma_alloc_coherent (& vha -> hw -> pdev -> dev ,
713
715
sizeof (struct ct_sns_pkt ), & sp -> u .iocb_cmd .u .ctarg .req_dma ,
714
716
GFP_KERNEL );
717
+ sp -> u .iocb_cmd .u .ctarg .req_allocated_size = sizeof (struct ct_sns_pkt );
715
718
if (!sp -> u .iocb_cmd .u .ctarg .req ) {
716
719
ql_log (ql_log_warn , vha , 0xd041 ,
717
720
"%s: Failed to allocate ct_sns request.\n" ,
@@ -722,6 +725,7 @@ static int qla_async_rffid(scsi_qla_host_t *vha, port_id_t *d_id,
722
725
sp -> u .iocb_cmd .u .ctarg .rsp = dma_alloc_coherent (& vha -> hw -> pdev -> dev ,
723
726
sizeof (struct ct_sns_pkt ), & sp -> u .iocb_cmd .u .ctarg .rsp_dma ,
724
727
GFP_KERNEL );
728
+ sp -> u .iocb_cmd .u .ctarg .rsp_allocated_size = sizeof (struct ct_sns_pkt );
725
729
if (!sp -> u .iocb_cmd .u .ctarg .rsp ) {
726
730
ql_log (ql_log_warn , vha , 0xd042 ,
727
731
"%s: Failed to allocate ct_sns request.\n" ,
@@ -802,6 +806,7 @@ static int qla_async_rnnid(scsi_qla_host_t *vha, port_id_t *d_id,
802
806
sp -> u .iocb_cmd .u .ctarg .req = dma_alloc_coherent (& vha -> hw -> pdev -> dev ,
803
807
sizeof (struct ct_sns_pkt ), & sp -> u .iocb_cmd .u .ctarg .req_dma ,
804
808
GFP_KERNEL );
809
+ sp -> u .iocb_cmd .u .ctarg .req_allocated_size = sizeof (struct ct_sns_pkt );
805
810
if (!sp -> u .iocb_cmd .u .ctarg .req ) {
806
811
ql_log (ql_log_warn , vha , 0xd041 ,
807
812
"%s: Failed to allocate ct_sns request.\n" ,
@@ -812,6 +817,7 @@ static int qla_async_rnnid(scsi_qla_host_t *vha, port_id_t *d_id,
812
817
sp -> u .iocb_cmd .u .ctarg .rsp = dma_alloc_coherent (& vha -> hw -> pdev -> dev ,
813
818
sizeof (struct ct_sns_pkt ), & sp -> u .iocb_cmd .u .ctarg .rsp_dma ,
814
819
GFP_KERNEL );
820
+ sp -> u .iocb_cmd .u .ctarg .rsp_allocated_size = sizeof (struct ct_sns_pkt );
815
821
if (!sp -> u .iocb_cmd .u .ctarg .rsp ) {
816
822
ql_log (ql_log_warn , vha , 0xd042 ,
817
823
"%s: Failed to allocate ct_sns request.\n" ,
@@ -909,6 +915,7 @@ static int qla_async_rsnn_nn(scsi_qla_host_t *vha)
909
915
sp -> u .iocb_cmd .u .ctarg .req = dma_alloc_coherent (& vha -> hw -> pdev -> dev ,
910
916
sizeof (struct ct_sns_pkt ), & sp -> u .iocb_cmd .u .ctarg .req_dma ,
911
917
GFP_KERNEL );
918
+ sp -> u .iocb_cmd .u .ctarg .req_allocated_size = sizeof (struct ct_sns_pkt );
912
919
if (!sp -> u .iocb_cmd .u .ctarg .req ) {
913
920
ql_log (ql_log_warn , vha , 0xd041 ,
914
921
"%s: Failed to allocate ct_sns request.\n" ,
@@ -919,6 +926,7 @@ static int qla_async_rsnn_nn(scsi_qla_host_t *vha)
919
926
sp -> u .iocb_cmd .u .ctarg .rsp = dma_alloc_coherent (& vha -> hw -> pdev -> dev ,
920
927
sizeof (struct ct_sns_pkt ), & sp -> u .iocb_cmd .u .ctarg .rsp_dma ,
921
928
GFP_KERNEL );
929
+ sp -> u .iocb_cmd .u .ctarg .rsp_allocated_size = sizeof (struct ct_sns_pkt );
922
930
if (!sp -> u .iocb_cmd .u .ctarg .rsp ) {
923
931
ql_log (ql_log_warn , vha , 0xd042 ,
924
932
"%s: Failed to allocate ct_sns request.\n" ,
@@ -3388,14 +3396,14 @@ void qla24xx_sp_unmap(scsi_qla_host_t *vha, srb_t *sp)
3388
3396
{
3389
3397
if (sp -> u .iocb_cmd .u .ctarg .req ) {
3390
3398
dma_free_coherent (& vha -> hw -> pdev -> dev ,
3391
- sizeof ( struct ct_sns_pkt ) ,
3399
+ sp -> u . iocb_cmd . u . ctarg . req_allocated_size ,
3392
3400
sp -> u .iocb_cmd .u .ctarg .req ,
3393
3401
sp -> u .iocb_cmd .u .ctarg .req_dma );
3394
3402
sp -> u .iocb_cmd .u .ctarg .req = NULL ;
3395
3403
}
3396
3404
if (sp -> u .iocb_cmd .u .ctarg .rsp ) {
3397
3405
dma_free_coherent (& vha -> hw -> pdev -> dev ,
3398
- sizeof ( struct ct_sns_pkt ) ,
3406
+ sp -> u . iocb_cmd . u . ctarg . rsp_allocated_size ,
3399
3407
sp -> u .iocb_cmd .u .ctarg .rsp ,
3400
3408
sp -> u .iocb_cmd .u .ctarg .rsp_dma );
3401
3409
sp -> u .iocb_cmd .u .ctarg .rsp = NULL ;
@@ -3596,14 +3604,14 @@ static void qla2x00_async_gpnid_sp_done(void *s, int res)
3596
3604
/* please ignore kernel warning. otherwise, we have mem leak. */
3597
3605
if (sp -> u .iocb_cmd .u .ctarg .req ) {
3598
3606
dma_free_coherent (& vha -> hw -> pdev -> dev ,
3599
- sizeof ( struct ct_sns_pkt ) ,
3607
+ sp -> u . iocb_cmd . u . ctarg . req_allocated_size ,
3600
3608
sp -> u .iocb_cmd .u .ctarg .req ,
3601
3609
sp -> u .iocb_cmd .u .ctarg .req_dma );
3602
3610
sp -> u .iocb_cmd .u .ctarg .req = NULL ;
3603
3611
}
3604
3612
if (sp -> u .iocb_cmd .u .ctarg .rsp ) {
3605
3613
dma_free_coherent (& vha -> hw -> pdev -> dev ,
3606
- sizeof ( struct ct_sns_pkt ) ,
3614
+ sp -> u . iocb_cmd . u . ctarg . rsp_allocated_size ,
3607
3615
sp -> u .iocb_cmd .u .ctarg .rsp ,
3608
3616
sp -> u .iocb_cmd .u .ctarg .rsp_dma );
3609
3617
sp -> u .iocb_cmd .u .ctarg .rsp = NULL ;
@@ -3654,6 +3662,7 @@ int qla24xx_async_gpnid(scsi_qla_host_t *vha, port_id_t *id)
3654
3662
sp -> u .iocb_cmd .u .ctarg .req = dma_alloc_coherent (& vha -> hw -> pdev -> dev ,
3655
3663
sizeof (struct ct_sns_pkt ), & sp -> u .iocb_cmd .u .ctarg .req_dma ,
3656
3664
GFP_KERNEL );
3665
+ sp -> u .iocb_cmd .u .ctarg .req_allocated_size = sizeof (struct ct_sns_pkt );
3657
3666
if (!sp -> u .iocb_cmd .u .ctarg .req ) {
3658
3667
ql_log (ql_log_warn , vha , 0xd041 ,
3659
3668
"Failed to allocate ct_sns request.\n" );
@@ -3663,6 +3672,7 @@ int qla24xx_async_gpnid(scsi_qla_host_t *vha, port_id_t *id)
3663
3672
sp -> u .iocb_cmd .u .ctarg .rsp = dma_alloc_coherent (& vha -> hw -> pdev -> dev ,
3664
3673
sizeof (struct ct_sns_pkt ), & sp -> u .iocb_cmd .u .ctarg .rsp_dma ,
3665
3674
GFP_KERNEL );
3675
+ sp -> u .iocb_cmd .u .ctarg .rsp_allocated_size = sizeof (struct ct_sns_pkt );
3666
3676
if (!sp -> u .iocb_cmd .u .ctarg .rsp ) {
3667
3677
ql_log (ql_log_warn , vha , 0xd042 ,
3668
3678
"Failed to allocate ct_sns request.\n" );
@@ -4142,14 +4152,14 @@ static void qla2x00_async_gpnft_gnnft_sp_done(void *s, int res)
4142
4152
*/
4143
4153
if (sp -> u .iocb_cmd .u .ctarg .req ) {
4144
4154
dma_free_coherent (& vha -> hw -> pdev -> dev ,
4145
- sizeof ( struct ct_sns_pkt ) ,
4155
+ sp -> u . iocb_cmd . u . ctarg . req_allocated_size ,
4146
4156
sp -> u .iocb_cmd .u .ctarg .req ,
4147
4157
sp -> u .iocb_cmd .u .ctarg .req_dma );
4148
4158
sp -> u .iocb_cmd .u .ctarg .req = NULL ;
4149
4159
}
4150
4160
if (sp -> u .iocb_cmd .u .ctarg .rsp ) {
4151
4161
dma_free_coherent (& vha -> hw -> pdev -> dev ,
4152
- sizeof ( struct ct_sns_pkt ) ,
4162
+ sp -> u . iocb_cmd . u . ctarg . rsp_allocated_size ,
4153
4163
sp -> u .iocb_cmd .u .ctarg .rsp ,
4154
4164
sp -> u .iocb_cmd .u .ctarg .rsp_dma );
4155
4165
sp -> u .iocb_cmd .u .ctarg .rsp = NULL ;
@@ -4179,14 +4189,14 @@ static void qla2x00_async_gpnft_gnnft_sp_done(void *s, int res)
4179
4189
/* please ignore kernel warning. Otherwise, we have mem leak. */
4180
4190
if (sp -> u .iocb_cmd .u .ctarg .req ) {
4181
4191
dma_free_coherent (& vha -> hw -> pdev -> dev ,
4182
- sizeof ( struct ct_sns_pkt ) ,
4192
+ sp -> u . iocb_cmd . u . ctarg . req_allocated_size ,
4183
4193
sp -> u .iocb_cmd .u .ctarg .req ,
4184
4194
sp -> u .iocb_cmd .u .ctarg .req_dma );
4185
4195
sp -> u .iocb_cmd .u .ctarg .req = NULL ;
4186
4196
}
4187
4197
if (sp -> u .iocb_cmd .u .ctarg .rsp ) {
4188
4198
dma_free_coherent (& vha -> hw -> pdev -> dev ,
4189
- sizeof ( struct ct_sns_pkt ) ,
4199
+ sp -> u . iocb_cmd . u . ctarg . rsp_allocated_size ,
4190
4200
sp -> u .iocb_cmd .u .ctarg .rsp ,
4191
4201
sp -> u .iocb_cmd .u .ctarg .rsp_dma );
4192
4202
sp -> u .iocb_cmd .u .ctarg .rsp = NULL ;
@@ -4281,14 +4291,14 @@ static int qla24xx_async_gnnft(scsi_qla_host_t *vha, struct srb *sp,
4281
4291
done_free_sp :
4282
4292
if (sp -> u .iocb_cmd .u .ctarg .req ) {
4283
4293
dma_free_coherent (& vha -> hw -> pdev -> dev ,
4284
- sizeof ( struct ct_sns_pkt ) ,
4294
+ sp -> u . iocb_cmd . u . ctarg . req_allocated_size ,
4285
4295
sp -> u .iocb_cmd .u .ctarg .req ,
4286
4296
sp -> u .iocb_cmd .u .ctarg .req_dma );
4287
4297
sp -> u .iocb_cmd .u .ctarg .req = NULL ;
4288
4298
}
4289
4299
if (sp -> u .iocb_cmd .u .ctarg .rsp ) {
4290
4300
dma_free_coherent (& vha -> hw -> pdev -> dev ,
4291
- sizeof ( struct ct_sns_pkt ) ,
4301
+ sp -> u . iocb_cmd . u . ctarg . rsp_allocated_size ,
4292
4302
sp -> u .iocb_cmd .u .ctarg .rsp ,
4293
4303
sp -> u .iocb_cmd .u .ctarg .rsp_dma );
4294
4304
sp -> u .iocb_cmd .u .ctarg .rsp = NULL ;
@@ -4349,6 +4359,7 @@ int qla24xx_async_gpnft(scsi_qla_host_t *vha, u8 fc4_type, srb_t *sp)
4349
4359
sp -> u .iocb_cmd .u .ctarg .req = dma_zalloc_coherent (
4350
4360
& vha -> hw -> pdev -> dev , sizeof (struct ct_sns_pkt ),
4351
4361
& sp -> u .iocb_cmd .u .ctarg .req_dma , GFP_KERNEL );
4362
+ sp -> u .iocb_cmd .u .ctarg .req_allocated_size = sizeof (struct ct_sns_pkt );
4352
4363
if (!sp -> u .iocb_cmd .u .ctarg .req ) {
4353
4364
ql_log (ql_log_warn , vha , 0xffff ,
4354
4365
"Failed to allocate ct_sns request.\n" );
@@ -4366,6 +4377,7 @@ int qla24xx_async_gpnft(scsi_qla_host_t *vha, u8 fc4_type, srb_t *sp)
4366
4377
sp -> u .iocb_cmd .u .ctarg .rsp = dma_zalloc_coherent (
4367
4378
& vha -> hw -> pdev -> dev , rspsz ,
4368
4379
& sp -> u .iocb_cmd .u .ctarg .rsp_dma , GFP_KERNEL );
4380
+ sp -> u .iocb_cmd .u .ctarg .rsp_allocated_size = sizeof (struct ct_sns_pkt );
4369
4381
if (!sp -> u .iocb_cmd .u .ctarg .rsp ) {
4370
4382
ql_log (ql_log_warn , vha , 0xffff ,
4371
4383
"Failed to allocate ct_sns request.\n" );
@@ -4425,14 +4437,14 @@ int qla24xx_async_gpnft(scsi_qla_host_t *vha, u8 fc4_type, srb_t *sp)
4425
4437
done_free_sp :
4426
4438
if (sp -> u .iocb_cmd .u .ctarg .req ) {
4427
4439
dma_free_coherent (& vha -> hw -> pdev -> dev ,
4428
- sizeof ( struct ct_sns_pkt ) ,
4440
+ sp -> u . iocb_cmd . u . ctarg . req_allocated_size ,
4429
4441
sp -> u .iocb_cmd .u .ctarg .req ,
4430
4442
sp -> u .iocb_cmd .u .ctarg .req_dma );
4431
4443
sp -> u .iocb_cmd .u .ctarg .req = NULL ;
4432
4444
}
4433
4445
if (sp -> u .iocb_cmd .u .ctarg .rsp ) {
4434
4446
dma_free_coherent (& vha -> hw -> pdev -> dev ,
4435
- sizeof ( struct ct_sns_pkt ) ,
4447
+ sp -> u . iocb_cmd . u . ctarg . rsp_allocated_size ,
4436
4448
sp -> u .iocb_cmd .u .ctarg .rsp ,
4437
4449
sp -> u .iocb_cmd .u .ctarg .rsp_dma );
4438
4450
sp -> u .iocb_cmd .u .ctarg .rsp = NULL ;
0 commit comments