Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 8fa56aed authored by Stefan Haberland's avatar Stefan Haberland Committed by Martin Schwidefsky
Browse files

dasd: fix list_del corruption during format



If I/O errors occur during format a kernel panic with a list_del
corruption may occur.

Stop error recovery procedure after an erp action was taken.

Signed-off-by: default avatarStefan Haberland <stefan.haberland@de.ibm.com>
Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
parent 931a3dce
Loading
Loading
Loading
Loading
+5 −1
Original line number Diff line number Diff line
@@ -2307,9 +2307,13 @@ static int _dasd_sleep_on_queue(struct list_head *ccw_queue, int interruptible)

	rc = 0;
	list_for_each_entry_safe(cqr, n, ccw_queue, blocklist) {
		if (__dasd_sleep_on_erp(cqr))
		if (__dasd_sleep_on_erp(cqr)) {
			if (!cqr->status == DASD_CQR_TERMINATED &&
			    !cqr->status == DASD_CQR_NEED_ERP)
				break;
			rc = 1;
		}
	}
	if (rc)
		goto retry;