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 @@ -5870,8 +5870,10 @@ static int virtnet_xsk_pool_enable(struct net_device *dev,
5870
5870
5871
5871
hdr_dma = virtqueue_dma_map_single_attrs (sq -> vq , & xsk_hdr , vi -> hdr_len ,
5872
5872
DMA_TO_DEVICE , 0 );
5873
- if (virtqueue_dma_mapping_error (sq -> vq , hdr_dma ))
5874
- return - ENOMEM ;
5873
+ if (virtqueue_dma_mapping_error (sq -> vq , hdr_dma )) {
5874
+ err = - ENOMEM ;
5875
+ goto err_free_buffs ;
5876
+ }
5875
5877
5876
5878
err = xsk_pool_dma_map (pool , dma_dev , 0 );
5877
5879
if (err )
@@ -5899,6 +5901,8 @@ static int virtnet_xsk_pool_enable(struct net_device *dev,
5899
5901
err_xsk_map :
5900
5902
virtqueue_dma_unmap_single_attrs (rq -> vq , hdr_dma , vi -> hdr_len ,
5901
5903
DMA_TO_DEVICE , 0 );
5904
+ err_free_buffs :
5905
+ kvfree (rq -> xsk_buffs );
5902
5906
return err ;
5903
5907
}
5904
5908
You can’t perform that action at this time.
0 commit comments