Linux USB
 help / color / mirror / Atom feed
* [PATCH v3] usb: misc: ljca: Fix enumeration error on Dell Latitude 9420
@ 2023-11-21 20:32 Hans de Goede
  2023-11-22 12:11 ` Greg Kroah-Hartman
  2023-11-22 21:40 ` Andi Shyti
  0 siblings, 2 replies; 3+ messages in thread
From: Hans de Goede @ 2023-11-21 20:32 UTC (permalink / raw)
  To: Greg Kroah-Hartman, Andi Shyti, Wentong Wu
  Cc: Hans de Goede, Sakari Ailus, Oliver Neukum, linux-usb, stable

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: acd6199f195d ("usb: Add support for Intel LJCA device")
Cc: stable@vger.kernel.org
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Reviewed-by: Wentong Wu <wentong.wu@intel.com>
Link: https://lore.kernel.org/r/20231104175104.38786-1-hdegoede@redhat.com
---
Changes in v3:
- Fix commit-id in fixes tag

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


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH v3] usb: misc: ljca: Fix enumeration error on Dell Latitude 9420
  2023-11-21 20:32 [PATCH v3] usb: misc: ljca: Fix enumeration error on Dell Latitude 9420 Hans de Goede
@ 2023-11-22 12:11 ` Greg Kroah-Hartman
  2023-11-22 21:40 ` Andi Shyti
  1 sibling, 0 replies; 3+ messages in thread
From: Greg Kroah-Hartman @ 2023-11-22 12:11 UTC (permalink / raw)
  To: Hans de Goede
  Cc: Andi Shyti, Wentong Wu, Sakari Ailus, Oliver Neukum, linux-usb,
	stable

On Tue, Nov 21, 2023 at 09:32:05PM +0100, Hans de Goede wrote:
> 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: acd6199f195d ("usb: Add support for Intel LJCA device")
> Cc: stable@vger.kernel.org

Nit, stable is not needed as the above commit only ended up in 6.7-rc1,
nothing older.  I'll drop it when I queue this up, thanks!

greg k-h

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH v3] usb: misc: ljca: Fix enumeration error on Dell Latitude 9420
  2023-11-21 20:32 [PATCH v3] usb: misc: ljca: Fix enumeration error on Dell Latitude 9420 Hans de Goede
  2023-11-22 12:11 ` Greg Kroah-Hartman
@ 2023-11-22 21:40 ` Andi Shyti
  1 sibling, 0 replies; 3+ messages in thread
From: Andi Shyti @ 2023-11-22 21:40 UTC (permalink / raw)
  To: Hans de Goede
  Cc: Greg Kroah-Hartman, Andi Shyti, Wentong Wu, Sakari Ailus,
	Oliver Neukum, linux-usb, stable

Hi Hans,

On Tue, Nov 21, 2023 at 09:32:05PM +0100, Hans de Goede wrote:
> 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: acd6199f195d ("usb: Add support for Intel LJCA device")
> Cc: stable@vger.kernel.org

did this already make it to stable? I think it is not needed.

> Signed-off-by: Hans de Goede <hdegoede@redhat.com>
> Reviewed-by: Wentong Wu <wentong.wu@intel.com>
> Link: https://lore.kernel.org/r/20231104175104.38786-1-hdegoede@redhat.com

Reviewed-by: Andi Shyti <andi.shyti@linux.intel.com>

Thanks,
Andi

> ---
> Changes in v3:
> - Fix commit-id in fixes tag
> 
> 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

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2023-11-22 21:41 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-11-21 20:32 [PATCH v3] usb: misc: ljca: Fix enumeration error on Dell Latitude 9420 Hans de Goede
2023-11-22 12:11 ` Greg Kroah-Hartman
2023-11-22 21:40 ` Andi Shyti

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox