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>