From a0c0dc19c86a62740ce8bfebc1d1c5c8b754e32b Mon Sep 17 00:00:00 2001 From: Hideyuki Sasaki Date: Wed, 4 Nov 2009 09:09:28 +0100 Subject: [PATCH] --- yaml --- r: 172933 b: refs/heads/master c: f21121cde6e617b90cd03ce083652ca543004dc2 h: refs/heads/master i: 172931: 7503bd5505afab59c38146e76e3e7ea3f90b9769 v: v3 --- [refs] | 2 +- trunk/drivers/block/ps3vram.c | 10 +++++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 85f4b9f6140d..e74293e3041a 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: e00ef7997195e4f8e10593727a6286e2e2802159 +refs/heads/master: f21121cde6e617b90cd03ce083652ca543004dc2 diff --git a/trunk/drivers/block/ps3vram.c b/trunk/drivers/block/ps3vram.c index 3bb7c47c869f..1fb6c3135fc8 100644 --- a/trunk/drivers/block/ps3vram.c +++ b/trunk/drivers/block/ps3vram.c @@ -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])