The pegasus get_registers function which is invoked by things such as MII operations and EEPROM reads may lock because 1) The callback may not be invoked in case of hardware error. 2) The callback does not check the return status of update_regs_eth_async. For 1) it should impose a timeout just like usb_control_msg. For 2) it should check the return status and take the appropriate action (such as waking up the sleeping process).
Care to propose a patch for this?
No response in 4 months, closing. If this is still a problem, please reopen with the requested information.
Hmm, just because I don't have time to write a patch it doesn't mean that this bug doesn't exist. Please only close this bug when it's fixed. Thanks.
Well, as I do not have this device, nor do I know exactly what the change should look like, and I'm neither the author or maintainer of this driver, it's going to be a _very_ long time before I get the time to be able to write a patch to fix this. So I'm closing this for now, and if you want to get this fixed, I suggest that you contact the author and maintainer of this driver. Sorry.