File tree Expand file tree Collapse file tree 1 file changed +9
-1
lines changed Expand file tree Collapse file tree 1 file changed +9
-1
lines changed Original file line number Diff line number Diff line change @@ -5090,7 +5090,7 @@ static int virtnet_set_coalesce(struct net_device *dev,
5090
5090
struct netlink_ext_ack * extack )
5091
5091
{
5092
5092
struct virtnet_info * vi = netdev_priv (dev );
5093
- int ret , queue_number , napi_weight ;
5093
+ int ret , queue_number , napi_weight , i ;
5094
5094
bool update_napi = false;
5095
5095
5096
5096
/* Can't change NAPI weight if the link is up */
@@ -5119,6 +5119,14 @@ static int virtnet_set_coalesce(struct net_device *dev,
5119
5119
return ret ;
5120
5120
5121
5121
if (update_napi ) {
5122
+ /* xsk xmit depends on the tx napi. So if xsk is active,
5123
+ * prevent modifications to tx napi.
5124
+ */
5125
+ for (i = queue_number ; i < vi -> max_queue_pairs ; i ++ ) {
5126
+ if (vi -> sq [i ].xsk_pool )
5127
+ return - EBUSY ;
5128
+ }
5129
+
5122
5130
for (; queue_number < vi -> max_queue_pairs ; queue_number ++ )
5123
5131
vi -> sq [queue_number ].napi .weight = napi_weight ;
5124
5132
}
You can’t perform that action at this time.
0 commit comments