diff options
author | Alexander Usyskin <alexander.usyskin@intel.com> | 2014-03-06 21:53:53 (GMT) |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2014-03-09 05:56:21 (GMT) |
commit | 31a5ef240e6bfb55764512104854d5d1ea345882 (patch) | |
tree | a8ffa7298b951150e0e11f473ae4fd3fe2e060d1 /drivers/misc | |
parent | 0db03f3f0c3b8c95346e48a1a552132ca332fe8f (diff) | |
download | linux-31a5ef240e6bfb55764512104854d5d1ea345882.tar.xz |
mei: fix regressions caused by removing ext_msg
1. Delete cb from list before freeing it
2. Fix missed break that leads to
switch case fall-through and BUG invocation.
Regression from:
commit 6bb948c9e500d24321c36c67c81daf8d1a7e561e
mei: get rid of ext_msg
Signed-off-by: Alexander Usyskin <alexander.usyskin@intel.com>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/misc')
-rw-r--r-- | drivers/misc/mei/interrupt.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/misc/mei/interrupt.c b/drivers/misc/mei/interrupt.c index 5aab335..2fbf0c0 100644 --- a/drivers/misc/mei/interrupt.c +++ b/drivers/misc/mei/interrupt.c @@ -187,6 +187,7 @@ static int mei_cl_irq_disconnect_rsp(struct mei_cl *cl, struct mei_cl_cb *cb, cl->state = MEI_FILE_DISCONNECTED; cl->status = 0; + list_del(&cb->list); mei_io_cb_free(cb); return ret; @@ -522,6 +523,7 @@ int mei_irq_write_handler(struct mei_device *dev, struct mei_cl_cb *cmpl_list) ret = mei_cl_irq_disconnect_rsp(cl, cb, cmpl_list); if (ret) return ret; + break; default: BUG(); } |