]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - drivers/block/ps3vram.c
floppy: Add an extra bound check on ioctl arguments
[karo-tx-linux.git] / drivers / block / ps3vram.c
index 3bb7c47c869fa5c3749acc689cfc427920b7caf1..1fb6c3135fc8db04f278dc0d45809fc0ad10181d 100644 (file)
@@ -123,7 +123,15 @@ static int ps3vram_notifier_wait(struct ps3_system_bus_device *dev,
 {
        struct ps3vram_priv *priv = ps3_system_bus_get_drvdata(dev);
        u32 *notify = ps3vram_get_notifier(priv->reports, NOTIFIER);
-       unsigned long timeout = jiffies + msecs_to_jiffies(timeout_ms);
+       unsigned long timeout;
+
+       for (timeout = 20; timeout; timeout--) {
+               if (!notify[3])
+                       return 0;
+               udelay(10);
+       }
+
+       timeout = jiffies + msecs_to_jiffies(timeout_ms);
 
        do {
                if (!notify[3])