]> Pileus Git - ~andy/linux/blobdiff - drivers/gpio/gpiolib.c
Merge commit 'v2.6.34' into next
[~andy/linux] / drivers / gpio / gpiolib.c
index 6d1b86661e633410b5698ca075047fa2f62a12a2..eb0c3fe44b29b32e6ee72dc0bb52ccd351aa9323 100644 (file)
@@ -9,6 +9,7 @@
 #include <linux/seq_file.h>
 #include <linux/gpio.h>
 #include <linux/idr.h>
+#include <linux/slab.h>
 
 
 /* Optional implementation infrastructure for GPIO interfaces.
@@ -415,7 +416,8 @@ static int gpio_setup_irq(struct gpio_desc *desc, struct device *dev,
        return 0;
 
 free_sd:
-       sysfs_put(pdesc->value_sd);
+       if (pdesc)
+               sysfs_put(pdesc->value_sd);
 free_id:
        idr_remove(&pdesc_idr, id);
        desc->flags &= GPIO_FLAGS_MASK;