All of lore.kernel.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
  0 siblings, 0 replies; 8+ messages in thread
From: zain wang @ 2017-02-13  9:27 UTC (permalink / raw)
  To: Sean Paul, Daniel Vetter, Inki Dae, David Airlie
  Cc: Tomeu Vizoso, Mika Kahola, Stéphane Marchesin, Tomasz Figa,
	dianders, Thierry Reding, Heiko Stuebner, Jingoo Han,
	Javier Martinez Canillas, linux-kernel, dri-devel,
	linux-samsung-soc, linux-rockchip, zain wang

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@rock-chips.com>
---
 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] 8+ messages in thread

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

Thread overview: 8+ 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
2017-02-13  9:27 ` zain wang
2017-02-20  2:13 ` Zain Wang
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
2017-02-20  4:16       ` Tomasz Figa

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.