summaryrefslogtreecommitdiffstats
path: root/drivers/staging/greybus/operation.c
diff options
context:
space:
mode:
authorViresh Kumar <viresh.kumar@linaro.org>2016-05-09 10:59:01 +0530
committerGreg Kroah-Hartman <gregkh@google.com>2016-05-09 08:48:10 +0200
commitc6cc8e73eb188156494e061bdb93966b0c7d9443 (patch)
tree84e4e3ae611c37f7425dd57d17d3f81c4dac163c /drivers/staging/greybus/operation.c
parenta956d939af9e73d3375f52d5c5c63ab824e59c8b (diff)
downloadlinux-stable-c6cc8e73eb188156494e061bdb93966b0c7d9443.tar.gz
linux-stable-c6cc8e73eb188156494e061bdb93966b0c7d9443.tar.bz2
linux-stable-c6cc8e73eb188156494e061bdb93966b0c7d9443.zip
greybus: fw-download: Replace timer with delayed-work
The timeout-handlers need to call routines that can sleep and those can't be called from interrupt context. The timer-handler is called in interrupt context and so will hit a BUG() in vmalloc.c. This patch moves away from timers to delayed-work, whose timeout handler gets called in process context and can call the sleep-able routines safely. Note that this issue wasn't hit earlier when the initial patch for timeouts was implemented due to some issues in the build arche_420. But with the new build arche_440, the BUG started crashing the phone on timeouts and so this fix is required. Tested on EVT 1.5 by triggering fake timeouts, by not sending release-firmware request for example. This is tested with build arche_440. Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org> Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Diffstat (limited to 'drivers/staging/greybus/operation.c')
0 files changed, 0 insertions, 0 deletions