@@ -1361,23 +1361,18 @@ static struct talitos_edesc *talitos_edesc_alloc(struct device *dev,
1361
1361
struct talitos_private * priv = dev_get_drvdata (dev );
1362
1362
bool is_sec1 = has_ftr_sec1 (priv );
1363
1363
int max_len = is_sec1 ? TALITOS1_MAX_DATA_LEN : TALITOS2_MAX_DATA_LEN ;
1364
- void * err ;
1365
1364
1366
1365
if (cryptlen + authsize > max_len ) {
1367
1366
dev_err (dev , "length exceeds h/w max limit\n" );
1368
1367
return ERR_PTR (- EINVAL );
1369
1368
}
1370
1369
1371
- if (ivsize )
1372
- iv_dma = dma_map_single (dev , iv , ivsize , DMA_TO_DEVICE );
1373
-
1374
1370
if (!dst || dst == src ) {
1375
1371
src_len = assoclen + cryptlen + authsize ;
1376
1372
src_nents = sg_nents_for_len (src , src_len );
1377
1373
if (src_nents < 0 ) {
1378
1374
dev_err (dev , "Invalid number of src SG.\n" );
1379
- err = ERR_PTR (- EINVAL );
1380
- goto error_sg ;
1375
+ return ERR_PTR (- EINVAL );
1381
1376
}
1382
1377
src_nents = (src_nents == 1 ) ? 0 : src_nents ;
1383
1378
dst_nents = dst ? src_nents : 0 ;
@@ -1387,16 +1382,14 @@ static struct talitos_edesc *talitos_edesc_alloc(struct device *dev,
1387
1382
src_nents = sg_nents_for_len (src , src_len );
1388
1383
if (src_nents < 0 ) {
1389
1384
dev_err (dev , "Invalid number of src SG.\n" );
1390
- err = ERR_PTR (- EINVAL );
1391
- goto error_sg ;
1385
+ return ERR_PTR (- EINVAL );
1392
1386
}
1393
1387
src_nents = (src_nents == 1 ) ? 0 : src_nents ;
1394
1388
dst_len = assoclen + cryptlen + (encrypt ? authsize : 0 );
1395
1389
dst_nents = sg_nents_for_len (dst , dst_len );
1396
1390
if (dst_nents < 0 ) {
1397
1391
dev_err (dev , "Invalid number of dst SG.\n" );
1398
- err = ERR_PTR (- EINVAL );
1399
- goto error_sg ;
1392
+ return ERR_PTR (- EINVAL );
1400
1393
}
1401
1394
dst_nents = (dst_nents == 1 ) ? 0 : dst_nents ;
1402
1395
}
@@ -1425,10 +1418,10 @@ static struct talitos_edesc *talitos_edesc_alloc(struct device *dev,
1425
1418
alloc_len += sizeof (struct talitos_desc );
1426
1419
1427
1420
edesc = kmalloc (alloc_len , GFP_DMA | flags );
1428
- if (!edesc ) {
1429
- err = ERR_PTR (- ENOMEM );
1430
- goto error_sg ;
1431
- }
1421
+ if (!edesc )
1422
+ return ERR_PTR (- ENOMEM );
1423
+ if ( ivsize )
1424
+ iv_dma = dma_map_single ( dev , iv , ivsize , DMA_TO_DEVICE );
1432
1425
memset (& edesc -> desc , 0 , sizeof (edesc -> desc ));
1433
1426
1434
1427
edesc -> src_nents = src_nents ;
@@ -1445,10 +1438,6 @@ static struct talitos_edesc *talitos_edesc_alloc(struct device *dev,
1445
1438
DMA_BIDIRECTIONAL );
1446
1439
}
1447
1440
return edesc ;
1448
- error_sg :
1449
- if (iv_dma )
1450
- dma_unmap_single (dev , iv_dma , ivsize , DMA_TO_DEVICE );
1451
- return err ;
1452
1441
}
1453
1442
1454
1443
static struct talitos_edesc * aead_edesc_alloc (struct aead_request * areq , u8 * iv ,
0 commit comments