diff options
| -rw-r--r-- | drivers/s390/char/zcore.c | 6 |
1 files changed, 1 insertions, 5 deletions
diff --git a/drivers/s390/char/zcore.c b/drivers/s390/char/zcore.c index 18daf16aa357..7217966f7d31 100644 --- a/drivers/s390/char/zcore.c +++ b/drivers/s390/char/zcore.c | |||
| @@ -638,11 +638,7 @@ static int __init zcore_reipl_init(void) | |||
| 638 | rc = memcpy_hsa_kernel(ipl_block, ipib_info.ipib, PAGE_SIZE); | 638 | rc = memcpy_hsa_kernel(ipl_block, ipib_info.ipib, PAGE_SIZE); |
| 639 | else | 639 | else |
| 640 | rc = memcpy_real(ipl_block, (void *) ipib_info.ipib, PAGE_SIZE); | 640 | rc = memcpy_real(ipl_block, (void *) ipib_info.ipib, PAGE_SIZE); |
| 641 | if (rc) { | 641 | if (rc || csum_partial(ipl_block, ipl_block->hdr.len, 0) != |
| 642 | free_page((unsigned long) ipl_block); | ||
| 643 | return rc; | ||
| 644 | } | ||
| 645 | if (csum_partial(ipl_block, ipl_block->hdr.len, 0) != | ||
| 646 | ipib_info.checksum) { | 642 | ipib_info.checksum) { |
| 647 | TRACE("Checksum does not match\n"); | 643 | TRACE("Checksum does not match\n"); |
| 648 | free_page((unsigned long) ipl_block); | 644 | free_page((unsigned long) ipl_block); |
