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

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

Merge "msm: qti_sdio_client: Return error number in diag callback"

parents 7cc2dc9f a08ceb35
Loading
Loading
Loading
Loading
+14 −9
Original line number Diff line number Diff line
@@ -88,9 +88,9 @@ static DEFINE_MUTEX(work_lock);
static spinlock_t list_lock;

#define	qlog(qsb, _msg, ...) do {					     \
	if (to_console)							     \
	if (!qsb ? 1 : to_console)					     \
		pr_err("[%s] " _msg, __func__, ##__VA_ARGS__);		     \
	if (ipc_log)							     \
	if (qsb && ipc_log)						     \
		ipc_log_string(qsb->ipc_log_ctxt, "[%s] " _msg, __func__,    \
							##__VA_ARGS__);	     \
} while (0)
@@ -438,8 +438,10 @@ int qti_client_read(int id, char *buf, size_t count)

	wait_event(qsb->wait_q, qsb->data_avail ||
					atomic_read(&qsb->is_client_closing));
	if (atomic_read(&qsb->is_client_closing))
		return count;
	if (atomic_read(&qsb->is_client_closing)) {
		ret = -ENODEV;
		goto out;
	}

	bytes = qsb->data_avail;

@@ -484,7 +486,7 @@ out:
	if (id == QCN_SDIO_CLI_ID_DIAG && qsb->ops &&
						qsb->ops->read_complete_cb) {
		qsb->ops->read_complete_cb((void *)(uintptr_t)0, buf, count,
									count);
				ret < 0 ? ret : count);
	}

	if (!qsb->data_remain) {
@@ -593,8 +595,10 @@ int qti_client_write(int id, char *buf, size_t count)

		wait_event(qsb->wait_q, qsb->tx_ready ||
					atomic_read(&qsb->is_client_closing));
		if (atomic_read(&qsb->is_client_closing))
			return count;
		if (atomic_read(&qsb->is_client_closing)) {
			ret = -ENODEV;
			goto out;
		}

		if (qsb->mode) {
			reinit_completion(&tx_complete);
@@ -627,10 +631,11 @@ int qti_client_write(int id, char *buf, size_t count)
		buffer = buffer + temp_count;
	}

out:
	if (id == QCN_SDIO_CLI_ID_DIAG && qsb->ops &&
			qsb->ops->write_complete_cb) {
		qsb->ops->write_complete_cb((void *)(uintptr_t)0, buf, count,
				count);
				ret < 0 ? ret : count);
	}

	return count;
+0 −1
Original line number Diff line number Diff line
@@ -561,7 +561,6 @@ static void qcn_sdio_irq_handler(struct sdio_func *func)
	sdio_claim_host(sdio_ctxt->func);
	data = sdio_readb(sdio_ctxt->func, SDIO_QCN_IRQ_STATUS, &ret);
	if (ret == -ETIMEDOUT) {
		sdio_release_irq(sdio_ctxt->func);
		sdio_release_host(sdio_ctxt->func);

		pr_err("%s: IRQ status read error ret = %d\n", __func__, ret);
+2 −2
Original line number Diff line number Diff line
@@ -735,8 +735,8 @@ static inline int mmc_boot_partition_access(struct mmc_host *host)

static inline bool mmc_card_and_host_support_async_int(struct mmc_host *host)
{
	return ((host->caps2 & MMC_CAP2_ASYNC_SDIO_IRQ_4BIT_MODE) &&
			(host->card->cccr.async_intr_sup));
	return (host->card && (host->caps2 & MMC_CAP2_ASYNC_SDIO_IRQ_4BIT_MODE)
			&& (host->card->cccr.async_intr_sup));
}

static inline int mmc_host_uhs(struct mmc_host *host)