aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/platforms/pseries/mobility.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/powerpc/platforms/pseries/mobility.c')
-rw-r--r--arch/powerpc/platforms/pseries/mobility.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/arch/powerpc/platforms/pseries/mobility.c b/arch/powerpc/platforms/pseries/mobility.c
index 03a428e87b14..38db1b9f2ac3 100644
--- a/arch/powerpc/platforms/pseries/mobility.c
+++ b/arch/powerpc/platforms/pseries/mobility.c
@@ -318,22 +318,19 @@ static ssize_t migrate_store(struct class *class, struct class_attribute *attr,
318{ 318{
319 u64 streamid; 319 u64 streamid;
320 int rc; 320 int rc;
321 int vasi_rc = 0;
322 321
323 rc = kstrtou64(buf, 0, &streamid); 322 rc = kstrtou64(buf, 0, &streamid);
324 if (rc) 323 if (rc)
325 return rc; 324 return rc;
326 325
327 do { 326 do {
328 rc = rtas_ibm_suspend_me(streamid, &vasi_rc); 327 rc = rtas_ibm_suspend_me(streamid);
329 if (!rc && vasi_rc == RTAS_NOT_SUSPENDABLE) 328 if (rc == -EAGAIN)
330 ssleep(1); 329 ssleep(1);
331 } while (!rc && vasi_rc == RTAS_NOT_SUSPENDABLE); 330 } while (rc == -EAGAIN);
332 331
333 if (rc) 332 if (rc)
334 return rc; 333 return rc;
335 if (vasi_rc)
336 return vasi_rc;
337 334
338 post_mobility_fixup(); 335 post_mobility_fixup();
339 return count; 336 return count;