In one spot (usbatm_cancel_send) we were calling dev_kfree_skb with irqs
disabled. This mistake is just too easy to make, so systematically use
dev_kfree_skb_any rather than dev_kfree_skb.
Signed-off-by: Duncan Sands <[email protected]>
Index: Linux/drivers/usb/atm/usbatm.c
===================================================================
--- Linux.orig/drivers/usb/atm/usbatm.c 2006-01-13 08:59:16.000000000 +0100
+++ Linux/drivers/usb/atm/usbatm.c 2006-01-13 09:00:06.000000000 +0100
@@ -72,6 +72,7 @@
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/moduleparam.h>
+#include <linux/netdevice.h>
#include <linux/proc_fs.h>
#include <linux/sched.h>
#include <linux/signal.h>
@@ -199,7 +200,7 @@
if (vcc->pop)
vcc->pop(vcc, skb);
else
- dev_kfree_skb(skb);
+ dev_kfree_skb_any(skb);
}
@@ -397,7 +398,7 @@
if (!atm_charge(vcc, skb->truesize)) {
atm_rldbg(instance, "%s: failed atm_charge (skb->truesize: %u)!\n",
__func__, skb->truesize);
- dev_kfree_skb(skb);
+ dev_kfree_skb_any(skb);
goto out; /* atm_charge increments rx_drop */
}
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]