Hi Brian,

I knew this issue. So patch[1] fixed it already.
I sent the extcon pull request[2] including patch[1] for Linux 4.3.

[1] 
http://git.kernel.org/cgit/linux/kernel/git/chanwoo/extcon.git/commit/?h=extcon-next&id=a598af7f0279195abffbfb9bf2070457e9c89ff3
[2] https://lkml.org/lkml/2015/8/11/5

Thanks,
Chanwoo Choi

On 08/11/2015 03:39 AM, Brian Norris wrote:
> commit be052cc87745 ("extcon: Fix hang and
> extcon_get/set_cable_state().") introduced several signedness issues.
> sparse reports them:
> 
>     drivers/extcon/extcon.c: In function ‘find_cable_index_by_name’:
>     drivers/extcon/extcon.c:153:2: warning: comparison of unsigned expression 
> < 0 is always false [-Wtype-limits]
>     drivers/extcon/extcon.c: In function ‘extcon_get_cable_state’:
>     drivers/extcon/extcon.c:384:2: warning: comparison of unsigned expression 
> < 0 is always false [-Wtype-limits]
>     drivers/extcon/extcon.c: In function ‘extcon_set_cable_state’:
>     drivers/extcon/extcon.c:432:2: warning: comparison of unsigned expression 
> < 0 is always false [-Wtype-limits]
> 
> Fixes: be052cc87745 ("extcon: Fix hang and extcon_get/set_cable_state().")
> Signed-off-by: Brian Norris <computersforpe...@gmail.com>
> ---
> This is *only* compile-tested
> 
>  drivers/extcon/extcon.c | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/extcon/extcon.c b/drivers/extcon/extcon.c
> index 43b57b02d050..a394ca419715 100644
> --- a/drivers/extcon/extcon.c
> +++ b/drivers/extcon/extcon.c
> @@ -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;
> @@ -378,7 +378,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)
> @@ -426,7 +426,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)
> 

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to