RE: [PATCH v2] usb: misc: ljca: Fix enumeration error on Dell Latitude 9420

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> From: Hans de Goede
> 
> Not all LJCA chips implement SPI and on chips without SPI reading the SPI
> descriptors will timeout.
> 
> On laptop models like the Dell Latitude 9420, this is expected behavior and not
> an error.
> 
> Modify the driver to continue without instantiating a SPI auxbus child, instead of
> failing to probe() the whole LJCA chip.
> 
> Fixes: 54f225fa5b58 ("usb: Add support for Intel LJCA device")
> Cc: stable@xxxxxxxxxxxxxxx
> Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx>

Reviewed-by: Wentong Wu <wentong.wu@xxxxxxxxx>
> ---
> Changes in v2:
> - Small commit msg + comment fixes
> - Add Fixes tag + Cc: stable
> ---
>  drivers/usb/misc/usb-ljca.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/usb/misc/usb-ljca.c b/drivers/usb/misc/usb-ljca.c index
> c9decd0396d4..a280d3a54b18 100644
> --- a/drivers/usb/misc/usb-ljca.c
> +++ b/drivers/usb/misc/usb-ljca.c
> @@ -656,10 +656,11 @@ static int ljca_enumerate_spi(struct ljca_adapter
> *adap)
>  	unsigned int i;
>  	int ret;
> 
> +	/* Not all LJCA chips implement SPI, a timeout reading the descriptors
> +is normal */
>  	ret = ljca_send(adap, LJCA_CLIENT_MNG, LJCA_MNG_ENUM_SPI, NULL,
> 0, buf,
>  			sizeof(buf), true, LJCA_ENUM_CLIENT_TIMEOUT_MS);
>  	if (ret < 0)
> -		return ret;
> +		return (ret == -ETIMEDOUT) ? 0 : ret;
> 
>  	/* check firmware response */
>  	desc = (struct ljca_spi_descriptor *)buf;
> --
> 2.41.0





[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux