File tree Expand file tree Collapse file tree 1 file changed +6
-2
lines changed Expand file tree Collapse file tree 1 file changed +6
-2
lines changed Original file line number Diff line number Diff line change @@ -5633,8 +5633,10 @@ static int virtnet_xsk_pool_enable(struct net_device *dev,
5633
5633
5634
5634
hdr_dma = virtqueue_dma_map_single_attrs (sq -> vq , & xsk_hdr , vi -> hdr_len ,
5635
5635
DMA_TO_DEVICE , 0 );
5636
- if (virtqueue_dma_mapping_error (sq -> vq , hdr_dma ))
5637
- return - ENOMEM ;
5636
+ if (virtqueue_dma_mapping_error (sq -> vq , hdr_dma )) {
5637
+ err = - ENOMEM ;
5638
+ goto err_free_buffs ;
5639
+ }
5638
5640
5639
5641
err = xsk_pool_dma_map (pool , dma_dev , 0 );
5640
5642
if (err )
@@ -5662,6 +5664,8 @@ static int virtnet_xsk_pool_enable(struct net_device *dev,
5662
5664
err_xsk_map :
5663
5665
virtqueue_dma_unmap_single_attrs (rq -> vq , hdr_dma , vi -> hdr_len ,
5664
5666
DMA_TO_DEVICE , 0 );
5667
+ err_free_buffs :
5668
+ kvfree (rq -> xsk_buffs );
5665
5669
return err ;
5666
5670
}
5667
5671
You can’t perform that action at this time.
0 commit comments