extcon: Fix signedness bugs about break error handling
authorDan Carpenter <dan.carpenter@oracle.com>
Tue, 4 Aug 2015 07:47:23 +0000 (10:47 +0300)
committerChanwoo Choi <cw00.choi@samsung.com>
Mon, 10 Aug 2015 02:48:57 +0000 (11:48 +0900)
Unsigned is never less than zero so this error handling won't work.

Fixes: be052cc87745 ('extcon: Fix hang and extcon_get/set_cable_state().')
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Reviewed-by: Roger Quadros <rogerq@ti.com>
[cw00.choi: Change the patch title and fix signedness bug of find_cable_index_by_id() ]
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
drivers/extcon/extcon.c

index 8301a72..a07addd 100644 (file)
@@ -126,7 +126,7 @@ static int find_cable_index_by_id(struct extcon_dev *edev, const unsigned int id
 
 static int find_cable_id_by_name(struct extcon_dev *edev, const char *name)
 {
-       unsigned int id = -EINVAL;
+       int id = -EINVAL;
        int i = 0;
 
        /* Find the id of extcon cable */
@@ -143,7 +143,7 @@ static int find_cable_id_by_name(struct extcon_dev *edev, const char *name)
 
 static int find_cable_index_by_name(struct extcon_dev *edev, const char *name)
 {
-       unsigned int id;
+       int id;
 
        if (edev->max_supported == 0)
                return -EINVAL;
@@ -379,7 +379,7 @@ EXPORT_SYMBOL_GPL(extcon_get_cable_state_);
  */
 int extcon_get_cable_state(struct extcon_dev *edev, const char *cable_name)
 {
-       unsigned int id;
+       int id;
 
        id = find_cable_id_by_name(edev, cable_name);
        if (id < 0)
@@ -430,7 +430,7 @@ EXPORT_SYMBOL_GPL(extcon_set_cable_state_);
 int extcon_set_cable_state(struct extcon_dev *edev,
                        const char *cable_name, bool cable_state)
 {
-       unsigned int id;
+       int id;
 
        id = find_cable_id_by_name(edev, cable_name);
        if (id < 0)