spi/tle620x: add missing device_remove_file()
authorAxel Lin <axel.lin@gmail.com>
Wed, 11 May 2011 12:39:05 +0000 (20:39 +0800)
committerGrant Likely <grant.likely@secretlab.ca>
Fri, 27 May 2011 03:30:25 +0000 (21:30 -0600)
This patch includes below fixes:
1. Add missing device_remove_file for dev_attr_status_show in tle62x0_remove.
2. Fix tle62x0_probe error handling:
   Currently, if the error happens when ptr > 0, gpio_attrs[0] is not
   properly remove.

Signed-off-by: Axel Lin <axel.lin@gmail.com>
Acked-by: Ben Dooks <ben-linux@fluff.org>
Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
drivers/spi/tle62x0.c

index a393895..32a4087 100644 (file)
@@ -283,7 +283,7 @@ static int __devinit tle62x0_probe(struct spi_device *spi)
        return 0;
 
  err_gpios:
-       for (; ptr > 0; ptr--)
+       while (--ptr >= 0)
                device_remove_file(&spi->dev, gpio_attrs[ptr]);
 
        device_remove_file(&spi->dev, &dev_attr_status_show);
@@ -301,6 +301,7 @@ static int __devexit tle62x0_remove(struct spi_device *spi)
        for (ptr = 0; ptr < st->nr_gpio; ptr++)
                device_remove_file(&spi->dev, gpio_attrs[ptr]);
 
+       device_remove_file(&spi->dev, &dev_attr_status_show);
        kfree(st);
        return 0;
 }