android_kernel_motorola_sm6225/drivers/net/can
AnilKumar Ch 148c87c89e can: c_can: fix an interrupt thrash issue with c_can driver
This patch fixes an interrupt thrash issue with c_can driver.

In c_can_isr() function interrupts are disabled and enabled only in
c_can_poll() function. c_can_isr() & c_can_poll() both read the
irqstatus flag. However, irqstatus is always read as 0 in c_can_poll()
because all C_CAN interrupts are disabled in c_can_isr(). This causes
all interrupts to be re-enabled in c_can_poll() which in turn causes
another interrupt since the event is not really handled. This keeps
happening causing a flood of interrupts.

To fix this, read the irqstatus register in isr and use the same cached
value in the poll function.

Cc: stable@kernel.org # 2.6.39+
Signed-off-by: AnilKumar Ch <anilkumar@ti.com>
Acked-by: Wolfgang Grandegger <wg@grandegger.com>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
2012-06-03 18:59:19 +02:00
..
c_can can: c_can: fix an interrupt thrash issue with c_can driver 2012-06-03 18:59:19 +02:00
cc770 can: cc770: linux/can/dev.h included twice 2012-03-03 17:40:32 +01:00
mscan can: replace the dev_dbg/info/err/... with the new netdev_xxx macros 2012-02-03 01:21:26 +01:00
sja1000 Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2012-05-22 19:22:50 -07:00
softing net/can: convert drivers/net/can/* to use module_platform_driver() 2011-11-29 00:25:05 -05:00
usb can: usb: PCAN-USB Pro: fix mem leaks in pcan_usb_pro_init() on error paths 2012-04-16 21:34:50 +02:00
at91_can.c net/can: convert drivers/net/can/* to use module_platform_driver() 2011-11-29 00:25:05 -05:00
bfin_can.c can: replace the dev_dbg/info/err/... with the new netdev_xxx macros 2012-02-03 01:21:26 +01:00
dev.c can: Stop using NLA_PUT*(). 2012-04-02 04:33:42 -04:00
flexcan.c can: flexcan: adopt pinctrl support 2012-05-12 09:43:09 +08:00
janz-ican3.c net/can: convert drivers/net/can/* to use module_platform_driver() 2011-11-29 00:25:05 -05:00
Kconfig can: Kconfig: add more information about Intel EG20T PCH CAN controller 2012-02-03 01:21:26 +01:00
Makefile can: cc770: add driver core for the Bosch CC770 and Intel AN82527 2011-12-01 13:09:31 -05:00
mcp251x.c can: replace the dev_dbg/info/err/... with the new netdev_xxx macros 2012-02-03 01:21:26 +01:00
pch_can.c net/can: use module_pci_driver 2012-04-16 21:08:18 +02:00
slcan.c Remove all #inclusions of asm/system.h 2012-03-28 18:30:03 +01:00
ti_hecc.c Merge branch 'master' of git://gitorious.org/linux-can/linux-can-next 2012-02-04 16:42:19 -05:00
vcan.c module_param: make bool parameters really bool (net & drivers/net) 2011-12-19 22:27:29 -05:00