Hi Johan, > In the case of blocking sockets we should not proceed with sendmsg() if > the socket has the BT_SK_SUSPEND flag set. So far the code was only > ensuring that POLLOUT doesn't get set for non-blocking sockets using > poll() but there was no code in place to ensure that blocking sockets do > the right thing when writing to them. > > This patch adds a new bt_sock_wait_ready helper function to sleep in the > sendmsg call if the BT_SK_SUSPEND flag is set, and wake up as soon as it > is unset. It also updates the L2CAP and RFCOMM sendmsg callbacks to take > advantage of this new helper function. > > Signed-off-by: Johan Hedberg <johan.hedberg@xxxxxxxxx> > --- > include/net/bluetooth/bluetooth.h | 1 + > net/bluetooth/af_bluetooth.c | 40 +++++++++++++++++++++++++++++++++++++++ > net/bluetooth/l2cap_sock.c | 6 ++++++ > net/bluetooth/rfcomm/sock.c | 7 ++++++- > 4 files changed, 53 insertions(+), 1 deletion(-) Acked-by: Marcel Holtmann <marcel@xxxxxxxxxxxx> Regards Marcel -- To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html