From: Greg Kroah-Hartman Date: Wed, 9 Jan 2013 18:56:16 +0000 (-0800) Subject: 3.4-stable patches X-Git-Tag: v3.0.58~4 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=4725851b56422c24dd6d36468f27379a5015953d;p=thirdparty%2Fkernel%2Fstable-queue.git 3.4-stable patches added patches: can-do-not-call-dev_put-if-restart-timer-is-running-upon-close.patch --- diff --git a/queue-3.4/can-do-not-call-dev_put-if-restart-timer-is-running-upon-close.patch b/queue-3.4/can-do-not-call-dev_put-if-restart-timer-is-running-upon-close.patch new file mode 100644 index 00000000000..e20b80fc9e7 --- /dev/null +++ b/queue-3.4/can-do-not-call-dev_put-if-restart-timer-is-running-upon-close.patch @@ -0,0 +1,38 @@ +From ab48b03ec9ae1840a1e427e2375bd0d9d554b4ed Mon Sep 17 00:00:00 2001 +From: Alexander Stein +Date: Tue, 27 Nov 2012 08:52:34 +0100 +Subject: can: Do not call dev_put if restart timer is running upon close + +From: Alexander Stein + +commit ab48b03ec9ae1840a1e427e2375bd0d9d554b4ed upstream. + +If the restart timer is running due to BUS-OFF and the device is +disconnected an dev_put will decrease the usage counter to -1 thus +blocking the interface removal, resulting in the following dmesg +lines repeating every 10s: +can: notifier: receive list not found for dev can0 +can: notifier: receive list not found for dev can0 +can: notifier: receive list not found for dev can0 +unregister_netdevice: waiting for can0 to become free. Usage count = -1 + +Signed-off-by: Alexander Stein +Signed-off-by: Marc Kleine-Budde +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/net/can/dev.c | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +--- a/drivers/net/can/dev.c ++++ b/drivers/net/can/dev.c +@@ -576,8 +576,7 @@ void close_candev(struct net_device *dev + { + struct can_priv *priv = netdev_priv(dev); + +- if (del_timer_sync(&priv->restart_timer)) +- dev_put(dev); ++ del_timer_sync(&priv->restart_timer); + can_flush_echo_skb(dev); + } + EXPORT_SYMBOL_GPL(close_candev); diff --git a/queue-3.4/series b/queue-3.4/series index e670d693e44..3d2a620302d 100644 --- a/queue-3.4/series +++ b/queue-3.4/series @@ -77,3 +77,4 @@ drivers-rtc-rtc-vt8500.c-correct-handling-of-cr_24h-bitfield.patch drivers-rtc-rtc-vt8500.c-fix-handling-of-data-passed-in-struct-rtc_time.patch mm-limit-mmu_gather-batching-to-fix-soft-lockups-on-config_preempt.patch hid-add-apple-wireless-keyboard-2011-ansi-to-special-driver-list.patch +can-do-not-call-dev_put-if-restart-timer-is-running-upon-close.patch