diff options
Diffstat (limited to 'mm/swap_state.c')
-rw-r--r-- | mm/swap_state.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/mm/swap_state.c b/mm/swap_state.c index 19bdf3017a9e..b9ca029673a5 100644 --- a/mm/swap_state.c +++ b/mm/swap_state.c | |||
@@ -292,7 +292,10 @@ struct page *read_swap_cache_async(swp_entry_t entry, gfp_t gfp_mask, | |||
292 | /* | 292 | /* |
293 | * Swap entry may have been freed since our caller observed it. | 293 | * Swap entry may have been freed since our caller observed it. |
294 | */ | 294 | */ |
295 | if (!swapcache_prepare(entry)) | 295 | err = swapcache_prepare(entry); |
296 | if (err == -EEXIST) /* seems racy */ | ||
297 | continue; | ||
298 | if (err) /* swp entry is obsolete ? */ | ||
296 | break; | 299 | break; |
297 | 300 | ||
298 | /* | 301 | /* |