From: Thomas Gleixner Date: Fri, 11 Apr 2014 08:13:10 +0000 (+0000) Subject: can: c_can: Fix startup logic X-Git-Tag: omap-for-v3.16/fixes-against-rc1~214^2~39^2~24 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=bed11db3d4095e5f818f5e8bf7f43ef2beb36d4e;p=pandora-kernel.git can: c_can: Fix startup logic c_can_start() enables interrupts way too early. The first enabling happens when setting the control mode in c_can_chip_config() and then again at the end of the function. But that happens before napi_enable() and that means that an interrupt which comes in will disable interrupts again and call napi_schedule, which ignores the request and the later napi_enable() is not making thinks work either. So the interface is up with all device interrupts disabled. Move the device interrupt after napi_enable() and add it to the other callsites of c_can_start() in c_can_set_mode() and c_can_power_up() Signed-off-by: Thomas Gleixner Tested-by: Alexander Stein Signed-off-by: Marc Kleine-Budde --- Reading git-diff-tree failed