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 @@ -5890,8 +5890,10 @@ static int virtnet_xsk_pool_enable(struct net_device *dev,
5890
5890
5891
5891
hdr_dma = virtqueue_dma_map_single_attrs (sq -> vq , & xsk_hdr , vi -> hdr_len ,
5892
5892
DMA_TO_DEVICE , 0 );
5893
- if (virtqueue_dma_mapping_error (sq -> vq , hdr_dma ))
5894
- return - ENOMEM ;
5893
+ if (virtqueue_dma_mapping_error (sq -> vq , hdr_dma )) {
5894
+ err = - ENOMEM ;
5895
+ goto err_free_buffs ;
5896
+ }
5895
5897
5896
5898
err = xsk_pool_dma_map (pool , dma_dev , 0 );
5897
5899
if (err )
@@ -5919,6 +5921,8 @@ static int virtnet_xsk_pool_enable(struct net_device *dev,
5919
5921
err_xsk_map :
5920
5922
virtqueue_dma_unmap_single_attrs (rq -> vq , hdr_dma , vi -> hdr_len ,
5921
5923
DMA_TO_DEVICE , 0 );
5924
+ err_free_buffs :
5925
+ kvfree (rq -> xsk_buffs );
5922
5926
return err ;
5923
5927
}
5924
5928
You can’t perform that action at this time.
0 commit comments