iio: hid-sensor: Return proper error if kmemdup fails
authorAxel Lin <axel.lin@ingics.com>
Sat, 27 Oct 2012 15:03:00 +0000 (16:03 +0100)
committerJonathan Cameron <jic23@kernel.org>
Sat, 17 Nov 2012 10:17:28 +0000 (10:17 +0000)
Return -ENOMEM instead of 0 if kmemdup fails.

Signed-off-by: Axel Lin <axel.lin@ingics.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
drivers/iio/accel/hid-sensor-accel-3d.c
drivers/iio/gyro/hid-sensor-gyro-3d.c
drivers/iio/light/hid-sensor-als.c
drivers/iio/magnetometer/hid-sensor-magn-3d.c

index a95cda0..e67bb91 100644 (file)
@@ -306,10 +306,10 @@ static int __devinit hid_accel_3d_probe(struct platform_device *pdev)
                goto error_free_dev;
        }
 
-       channels = kmemdup(accel_3d_channels,
-                                       sizeof(accel_3d_channels),
-                                       GFP_KERNEL);
+       channels = kmemdup(accel_3d_channels, sizeof(accel_3d_channels),
+                          GFP_KERNEL);
        if (!channels) {
+               ret = -ENOMEM;
                dev_err(&pdev->dev, "failed to duplicate channels\n");
                goto error_free_dev;
        }
index 02ef989..4c8b158 100644 (file)
@@ -306,10 +306,10 @@ static int __devinit hid_gyro_3d_probe(struct platform_device *pdev)
                goto error_free_dev;
        }
 
-       channels = kmemdup(gyro_3d_channels,
-                                       sizeof(gyro_3d_channels),
-                                       GFP_KERNEL);
+       channels = kmemdup(gyro_3d_channels, sizeof(gyro_3d_channels),
+                          GFP_KERNEL);
        if (!channels) {
+               ret = -ENOMEM;
                dev_err(&pdev->dev, "failed to duplicate channels\n");
                goto error_free_dev;
        }
index 8e1f698..23eeeef 100644 (file)
@@ -272,10 +272,9 @@ static int __devinit hid_als_probe(struct platform_device *pdev)
                goto error_free_dev;
        }
 
-       channels = kmemdup(als_channels,
-                                       sizeof(als_channels),
-                                       GFP_KERNEL);
+       channels = kmemdup(als_channels, sizeof(als_channels), GFP_KERNEL);
        if (!channels) {
+               ret = -ENOMEM;
                dev_err(&pdev->dev, "failed to duplicate channels\n");
                goto error_free_dev;
        }
index d1b5fb7..8e75eb7 100644 (file)
@@ -307,10 +307,10 @@ static int __devinit hid_magn_3d_probe(struct platform_device *pdev)
                goto error_free_dev;
        }
 
-       channels = kmemdup(magn_3d_channels,
-                                       sizeof(magn_3d_channels),
-                                       GFP_KERNEL);
+       channels = kmemdup(magn_3d_channels, sizeof(magn_3d_channels),
+                          GFP_KERNEL);
        if (!channels) {
+               ret = -ENOMEM;
                dev_err(&pdev->dev, "failed to duplicate channels\n");
                goto error_free_dev;
        }