OSDN Git Service

xdp: move the if dev statements to the first
authorYajun Deng <yajun.deng@linux.dev>
Fri, 17 Dec 2021 09:25:45 +0000 (17:25 +0800)
committerDavid S. Miller <davem@davemloft.net>
Sat, 18 Dec 2021 12:35:49 +0000 (12:35 +0000)
The xdp_rxq_info_unreg() called by xdp_rxq_info_reg() is meaningless when
dev is NULL, so move the if dev statements to the first.

Signed-off-by: Yajun Deng <yajun.deng@linux.dev>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/core/xdp.c

index 5ddc29f..7fe1df8 100644 (file)
@@ -159,6 +159,11 @@ static void xdp_rxq_info_init(struct xdp_rxq_info *xdp_rxq)
 int xdp_rxq_info_reg(struct xdp_rxq_info *xdp_rxq,
                     struct net_device *dev, u32 queue_index, unsigned int napi_id)
 {
+       if (!dev) {
+               WARN(1, "Missing net_device from driver");
+               return -ENODEV;
+       }
+
        if (xdp_rxq->reg_state == REG_STATE_UNUSED) {
                WARN(1, "Driver promised not to register this");
                return -EINVAL;
@@ -169,11 +174,6 @@ int xdp_rxq_info_reg(struct xdp_rxq_info *xdp_rxq,
                xdp_rxq_info_unreg(xdp_rxq);
        }
 
-       if (!dev) {
-               WARN(1, "Missing net_device from driver");
-               return -ENODEV;
-       }
-
        /* State either UNREGISTERED or NEW */
        xdp_rxq_info_init(xdp_rxq);
        xdp_rxq->dev = dev;