Re: [PATCH net-next 2/8] can: Use netif_rx().

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





On 05.03.22 23:12, Sebastian Andrzej Siewior wrote:
Since commit
    baebdf48c3600 ("net: dev: Makes sure netif_rx() can be invoked in any context.")

the function netif_rx() can be used in preemptible/thread context as
well as in interrupt context.

Use netif_rx().

Cc: Marc Kleine-Budde <mkl@xxxxxxxxxxxxxx>
Cc: Oliver Hartkopp <socketcan@xxxxxxxxxxxx>

Acked-by: Oliver Hartkopp <socketcan@xxxxxxxxxxxx>

Thanks for the effort Sebastian!

So git blame would not find me anymore for introducing netif_rx_ni() in commit 481a8199142c0 from 2009 ;-)

Best regards,
Oliver

Cc: Wolfgang Grandegger <wg@xxxxxxxxxxxxxx>
Cc: linux-can@xxxxxxxxxxxxxxx
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@xxxxxxxxxxxxx>
---
  drivers/net/can/dev/dev.c     | 2 +-
  drivers/net/can/slcan.c       | 2 +-
  drivers/net/can/spi/hi311x.c  | 6 +++---
  drivers/net/can/spi/mcp251x.c | 4 ++--
  drivers/net/can/vcan.c        | 2 +-
  drivers/net/can/vxcan.c       | 2 +-
  net/can/af_can.c              | 2 +-
  7 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/drivers/net/can/dev/dev.c b/drivers/net/can/dev/dev.c
index c192f25f96956..e7ab45f1c43b2 100644
--- a/drivers/net/can/dev/dev.c
+++ b/drivers/net/can/dev/dev.c
@@ -154,7 +154,7 @@ static void can_restart(struct net_device *dev)
cf->can_id |= CAN_ERR_RESTARTED; - netif_rx_ni(skb);
+	netif_rx(skb);
restart:
  	netdev_dbg(dev, "restarted\n");
diff --git a/drivers/net/can/slcan.c b/drivers/net/can/slcan.c
index 27783fbf011fc..ec294d0c5722c 100644
--- a/drivers/net/can/slcan.c
+++ b/drivers/net/can/slcan.c
@@ -221,7 +221,7 @@ static void slc_bump(struct slcan *sl)
  	if (!(cf.can_id & CAN_RTR_FLAG))
  		sl->dev->stats.rx_bytes += cf.len;
- netif_rx_ni(skb);
+	netif_rx(skb);
  }
/* parse tty input stream */
diff --git a/drivers/net/can/spi/hi311x.c b/drivers/net/can/spi/hi311x.c
index 664b8f14d7b05..a5b2952b8d0ff 100644
--- a/drivers/net/can/spi/hi311x.c
+++ b/drivers/net/can/spi/hi311x.c
@@ -356,7 +356,7 @@ static void hi3110_hw_rx(struct spi_device *spi)
can_led_event(priv->net, CAN_LED_EVENT_RX); - netif_rx_ni(skb);
+	netif_rx(skb);
  }
static void hi3110_hw_sleep(struct spi_device *spi)
@@ -677,7 +677,7 @@ static irqreturn_t hi3110_can_ist(int irq, void *dev_id)
  			tx_state = txerr >= rxerr ? new_state : 0;
  			rx_state = txerr <= rxerr ? new_state : 0;
  			can_change_state(net, cf, tx_state, rx_state);
-			netif_rx_ni(skb);
+			netif_rx(skb);
if (new_state == CAN_STATE_BUS_OFF) {
  				can_bus_off(net);
@@ -718,7 +718,7 @@ static irqreturn_t hi3110_can_ist(int irq, void *dev_id)
  				cf->data[6] = hi3110_read(spi, HI3110_READ_TEC);
  				cf->data[7] = hi3110_read(spi, HI3110_READ_REC);
  				netdev_dbg(priv->net, "Bus Error\n");
-				netif_rx_ni(skb);
+				netif_rx(skb);
  			}
  		}
diff --git a/drivers/net/can/spi/mcp251x.c b/drivers/net/can/spi/mcp251x.c
index d23edaf224204..fc747bff5eeb2 100644
--- a/drivers/net/can/spi/mcp251x.c
+++ b/drivers/net/can/spi/mcp251x.c
@@ -740,7 +740,7 @@ static void mcp251x_hw_rx(struct spi_device *spi, int buf_idx)
can_led_event(priv->net, CAN_LED_EVENT_RX); - netif_rx_ni(skb);
+	netif_rx(skb);
  }
static void mcp251x_hw_sleep(struct spi_device *spi)
@@ -987,7 +987,7 @@ static void mcp251x_error_skb(struct net_device *net, int can_id, int data1)
  	if (skb) {
  		frame->can_id |= can_id;
  		frame->data[1] = data1;
-		netif_rx_ni(skb);
+		netif_rx(skb);
  	} else {
  		netdev_err(net, "cannot allocate error skb\n");
  	}
diff --git a/drivers/net/can/vcan.c b/drivers/net/can/vcan.c
index c42f18845b02a..a15619d883ec2 100644
--- a/drivers/net/can/vcan.c
+++ b/drivers/net/can/vcan.c
@@ -80,7 +80,7 @@ static void vcan_rx(struct sk_buff *skb, struct net_device *dev)
  	skb->dev       = dev;
  	skb->ip_summed = CHECKSUM_UNNECESSARY;
- netif_rx_ni(skb);
+	netif_rx(skb);
  }
static netdev_tx_t vcan_tx(struct sk_buff *skb, struct net_device *dev)
diff --git a/drivers/net/can/vxcan.c b/drivers/net/can/vxcan.c
index 47ccc15a3486b..556f1a12ec9a0 100644
--- a/drivers/net/can/vxcan.c
+++ b/drivers/net/can/vxcan.c
@@ -63,7 +63,7 @@ static netdev_tx_t vxcan_xmit(struct sk_buff *skb, struct net_device *dev)
  	skb->ip_summed  = CHECKSUM_UNNECESSARY;
len = cfd->can_id & CAN_RTR_FLAG ? 0 : cfd->len;
-	if (netif_rx_ni(skb) == NET_RX_SUCCESS) {
+	if (netif_rx(skb) == NET_RX_SUCCESS) {
  		srcstats->tx_packets++;
  		srcstats->tx_bytes += len;
  		peerstats = &peer->stats;
diff --git a/net/can/af_can.c b/net/can/af_can.c
index cce2af10eb3ea..1fb49d51b25d6 100644
--- a/net/can/af_can.c
+++ b/net/can/af_can.c
@@ -284,7 +284,7 @@ int can_send(struct sk_buff *skb, int loop)
  	}
if (newskb)
-		netif_rx_ni(newskb);
+		netif_rx(newskb);
/* update statistics */
  	pkg_stats->tx_frames++;



[Index of Archives]     [Automotive Discussions]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]     [CAN Bus]

  Powered by Linux