Hello. On 18-02-2012 1:37, Alan Stern wrote:
This patch (as1521) slightly improves the way usb-storage's asynchronous scanning thread interacts with the freezer. Rather than making itself freezable before waiting for the device to settle, the routine won't make itself freezable until after the settling delay.
This is just as correct as the existing code. If the freezer starts up before the delay is over then the scanning thread will be ignored until the delay ends, at which point it will immediately be frozen. On the other hand, if the freezer starts up after the delay is over then it will wait for the scanning thread to finish, as it does now.
For the 3.3 kernel this change in behavior is not important. However, the backported version of this patch for the 3.2 kernel fixes a real bug. In 3.2, the scanning thread calls set_freezable_with_signal() rather than set_freezable(). When the freezer runs, the resulting signal delivery messes up the scanning thread's I/O delays, because they are interruptible.
Thus the 3.2 version of this patch fixes the problem reported in Bugzilla #42730.
Signed-off-by: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx> CC: Seth Forshee <seth.forshee@xxxxxxxxxxxxx> CC: <stable@xxxxxxxxxx>
The new address is stable@xxxxxxxxxxxxxxx. Dunno if the old one forwards to it...
WBR, Sergei -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html