Re: [PATCH] net: usb: dm9601: fix wrong return value in dm9601_mdio_read

From: Simon Horman
Date: Tue Feb 27 2024 - 11:28:43 EST


On Sun, Feb 25, 2024 at 12:20:06AM +0100, Javier Carrasco wrote:
> The MII code does not check the return value of mdio_read (among
> others), and therefore no error code should be sent. A previous fix to
> the use of an uninitialized variable propagates negative error codes,
> that might lead to wrong operations by the MII library.
>
> An example of such issues is the use of mii_nway_restart by the dm9601
> driver. The mii_nway_restart function does not check the value returned
> by mdio_read, which in this case might be a negative number which could
> contain the exact bit the function checks (BMCR_ANENABLE = 0x1000).
>
> Return zero in case of error, as it is common practice in users of
> mdio_read to avoid wrong uses of the return value.
>
> Fixes: 8f8abb863fa5 ("net: usb: dm9601: fix uninitialized variable use in dm9601_mdio_read")
> Signed-off-by: Javier Carrasco <javier.carrasco.cruz@xxxxxxxxx>

I guess it would be nice if error values could be used,
but as you have described, that does not seem to be the case here.

Reviewed-by: Simon Horman <horms@xxxxxxxxxx>