Browse Source

i2c/ds1374: Check workqueue creation status

Check if workqueue creation failed.  Further usage of NULL pointed
workqueue is not good I guess ;)

Signed-off-by: Cyrill V. Gorcunov <gorcunov@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Jean Delvare <khali@linux-fr.org>
Cyrill V. Gorcunov 18 years ago
parent
commit
0ca9493b4c
1 changed files with 4 additions and 0 deletions
  1. 4 0
      drivers/i2c/chips/ds1374.c

+ 4 - 0
drivers/i2c/chips/ds1374.c

@@ -207,6 +207,10 @@ static int ds1374_probe(struct i2c_adapter *adap, int addr, int kind)
 	client->driver = &ds1374_driver;
 	client->driver = &ds1374_driver;
 
 
 	ds1374_workqueue = create_singlethread_workqueue("ds1374");
 	ds1374_workqueue = create_singlethread_workqueue("ds1374");
+	if (!ds1374_workqueue) {
+		kfree(client);
+		return -ENOMEM;	/* most expected reason */
+	}
 
 
 	if ((rc = i2c_attach_client(client)) != 0) {
 	if ((rc = i2c_attach_client(client)) != 0) {
 		kfree(client);
 		kfree(client);