diff options
author | Cyrill V. Gorcunov <gorcunov@gmail.com> | 2007-03-22 21:49:01 +0300 |
---|---|---|
committer | Jean Delvare <khali@arrakis.delvare> | 2007-03-22 21:49:01 +0300 |
commit | 0ca9493b4c0f4fb7796add422ba5ecc672c9fa16 (patch) | |
tree | d56517e70bf7acf339b450f9cb29c80d6ea3ea37 /drivers/i2c/chips | |
parent | a5aaea37858fb56d624227408d1dde4cb78c9a6c (diff) | |
download | linux-0ca9493b4c0f4fb7796add422ba5ecc672c9fa16.tar.xz |
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>
Diffstat (limited to 'drivers/i2c/chips')
-rw-r--r-- | drivers/i2c/chips/ds1374.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/i2c/chips/ds1374.c b/drivers/i2c/chips/ds1374.c index 15edf40828b4..8a2ff0c114d9 100644 --- a/drivers/i2c/chips/ds1374.c +++ b/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; ds1374_workqueue = create_singlethread_workqueue("ds1374"); + if (!ds1374_workqueue) { + kfree(client); + return -ENOMEM; /* most expected reason */ + } if ((rc = i2c_attach_client(client)) != 0) { kfree(client); |