> 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