diff --git a/drivers/net/can/janz-ican3.c b/drivers/net/can/janz-ican3.c
index f41623d003e1954578bd91125944a26be4c3ecca..754b803fa92697b5267d0f4c7274559f0f7da399 100644
--- a/drivers/net/can/janz-ican3.c
+++ b/drivers/net/can/janz-ican3.c
@@ -1420,6 +1420,9 @@ static int ican3_xmit(struct sk_buff *skb, struct net_device *ndev)
 	void __iomem *desc_addr;
 	unsigned long flags;
 
+	if (can_dropped_invalid_skb(ndev, skb))
+		return NETDEV_TX_OK;
+
 	spin_lock_irqsave(&mod->lock, flags);
 
 	/* check that we can actually transmit */