On 01. 04. 20, 8:28, Jiri Slaby wrote: > On 24. 03. 20, 18:04, Arnaud Pouliquen wrote: >> Return the rpmsg buffer MTU for sending message, so rpmsg users >> can split a long message in several sub rpmsg buffers. >> >> Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen@xxxxxx> >> Acked-by: Suman Anna <s-anna@xxxxxx> >> --- >> drivers/rpmsg/rpmsg_core.c | 21 +++++++++++++++++++++ >> drivers/rpmsg/rpmsg_internal.h | 2 ++ >> drivers/rpmsg/virtio_rpmsg_bus.c | 10 ++++++++++ >> include/linux/rpmsg.h | 10 ++++++++++ >> 4 files changed, 43 insertions(+) >> >> diff --git a/drivers/rpmsg/rpmsg_core.c b/drivers/rpmsg/rpmsg_core.c >> index e330ec4dfc33..a6ef54c4779a 100644 >> --- a/drivers/rpmsg/rpmsg_core.c >> +++ b/drivers/rpmsg/rpmsg_core.c >> @@ -283,6 +283,27 @@ int rpmsg_trysend_offchannel(struct rpmsg_endpoint *ept, u32 src, u32 dst, >> } >> EXPORT_SYMBOL(rpmsg_trysend_offchannel); >> >> +/** >> + * rpmsg_get_mtu() - get maximum transmission buffer size for sending message. >> + * @ept: the rpmsg endpoint >> + * >> + * This function returns maximum buffer size available for a single message. >> + * >> + * Return: the maximum transmission size on success and an appropriate error >> + * value on failure. >> + */ >> + >> +ssize_t rpmsg_get_mtu(struct rpmsg_endpoint *ept) >> +{ >> + if (WARN_ON(!ept)) >> + return -EINVAL; >> + if (!ept->ops->get_mtu) >> + return -ENOTSUPP; > > Hmm, I don't think all callers of tty_write_room() handle negative values... > > But some drivers also return negative values. There is some work to be > done, adding to TODO. > > For the time being, I suggest returning 0 instead. Or better, convert the negative to 0 in rpmsg_tty_write_room for now. > thanks,-- -- js suse labs