public inbox for linux-rockchip@lists.infradead.org
 help / color / mirror / Atom feed
* [PATCH] drm/bridge: analogix_dp: Don't return -EBUSY when msg->size is 0 in aux transaction
@ 2017-02-13  9:27 zain wang
       [not found] ` <1486978066-5351-1-git-send-email-wzz-TNX95d0MmH7DzftRWevZcw@public.gmane.org>
  2017-02-20  2:40 ` Tomasz Figa
  0 siblings, 2 replies; 5+ messages in thread
From: zain wang @ 2017-02-13  9:27 UTC (permalink / raw)
  To: Sean Paul, Daniel Vetter, Inki Dae, David Airlie
  Cc: linux-samsung-soc-u79uwXL29TY76Z2rM5mHXA, Heiko Stuebner,
	Tomeu Vizoso, linux-rockchip-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
	Jingoo Han, dianders-F7+t8E8rja9g9hUCZPvPmw,
	dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW, Tomasz Figa,
	Javier Martinez Canillas, zain wang, Mika Kahola,
	Stéphane Marchesin, Thierry Reding,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA

The analogix_dp_transfer() will return -EBUSY if num_transferred is zero.
But sometimes we will send a bare address packet to start the transaction,
like drm_dp_i2c_xfer() show:
	......
	/* Send a bare address packet to start the transaction.
	 * Zero sized messages specify an address only (bare
	 * address) transaction.
	 */
	msg.buffer = NULL;
	msg.size = 0;
	err = drm_dp_i2c_do_msg(aux, &msg);
	......

In this case, the msg->size is zero, so the num_transferred will be zero too.
We can't return -EBUSY here, let's we return num_transferred if num_transferred
equals msg->size.

Signed-off-by: zain wang <wzz-TNX95d0MmH7DzftRWevZcw@public.gmane.org>
---
 drivers/gpu/drm/bridge/analogix/analogix_dp_reg.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/bridge/analogix/analogix_dp_reg.c b/drivers/gpu/drm/bridge/analogix/analogix_dp_reg.c
index 303083a..5384aca 100644
--- a/drivers/gpu/drm/bridge/analogix/analogix_dp_reg.c
+++ b/drivers/gpu/drm/bridge/analogix/analogix_dp_reg.c
@@ -1162,5 +1162,5 @@ ssize_t analogix_dp_transfer(struct analogix_dp_device *dp,
 		 (msg->request & ~DP_AUX_I2C_MOT) == DP_AUX_NATIVE_READ)
 		msg->reply = DP_AUX_NATIVE_REPLY_ACK;
 
-	return num_transferred > 0 ? num_transferred : -EBUSY;
+	return (num_transferred == msg->size) ? num_transferred : -EBUSY;
 }
-- 
1.9.1

^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2017-02-20  4:16 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-02-13  9:27 [PATCH] drm/bridge: analogix_dp: Don't return -EBUSY when msg->size is 0 in aux transaction zain wang
     [not found] ` <1486978066-5351-1-git-send-email-wzz-TNX95d0MmH7DzftRWevZcw@public.gmane.org>
2017-02-20  2:13   ` Zain Wang
2017-02-20  2:40 ` Tomasz Figa
2017-02-20  4:04   ` Zain Wang
2017-02-20  4:16     ` Tomasz Figa

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox