Browse Source

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>
Alexander Usyskin 11 years ago
parent
commit
31a5ef240e
1 changed files with 2 additions and 0 deletions
  1. 2 0
      drivers/misc/mei/interrupt.c

+ 2 - 0
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();
 		}