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

Commit 2e5d4311 authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "mmc: core: continue to wait, when unblocked by signal"

parents ecf1cb6c 7b5ef962
Loading
Loading
Loading
Loading
+8 −3
Original line number Diff line number Diff line
@@ -699,11 +699,11 @@ static int mmc_wait_for_data_req_done(struct mmc_host *host,
	struct mmc_context_info *context_info = &host->context_info;
	bool pending_is_urgent = false;
	bool is_urgent = false;
	int err;
	int err, ret;
	unsigned long flags;

	while (1) {
		wait_io_event_interruptible(context_info->wait,
		ret = wait_io_event_interruptible(context_info->wait,
				(context_info->is_done_rcv ||
				 context_info->is_new_req  ||
				 context_info->is_urgent));
@@ -757,7 +757,7 @@ static int mmc_wait_for_data_req_done(struct mmc_host *host,
				err = MMC_BLK_NEW_REQUEST;
				break; /* return err */
			}
		} else {
		} else if (context_info->is_urgent) {
			/*
			 * The case when block layer sent next urgent
			 * notification before it receives end_io on
@@ -809,6 +809,11 @@ static int mmc_wait_for_data_req_done(struct mmc_host *host,
				pending_is_urgent = true;
				continue; /* wait for done/new/urgent event */
			}
		} else {
			pr_warn("%s: mmc thread unblocked from waiting by signal, ret=%d\n",
					mmc_hostname(host),
					ret);
			continue;
		}
	}
	return err;