[PATCH] sd.c spinup code can go into a wild loop
This problem was reported against 2.4 by Eddie.Williams@SteelEye.com There's a problem in the sd spinup code in that if the unit returns NOT READY, we begin to spin it up, but thereafter if it returns anything other than NOT READY or success, the while loop in the spinup code will be executed *without* the 1s delay that's in the NOT READY case. The problem was seen with a real device: Compaq multi-path storage arrays return NOT READY to probes down inactive paths, but when the start unit is sent to activate the path, they can then respond back with error conditions. The fix is to terminate the while loop for any unexpected return.
Showing
Please register or sign in to comment