Is there any other alterative call that we can use to send messages over TCP sockets
From interrupt context.
you can use workqueues to schedule this work to be done from a process context.
To explain the scenario :
When we invoke our driver from ppp through ping,
ppp_write ->tty_layer..... my_serial_driver_write(..,userbuffer, )
my_serial_driver_write(struct tty_struct *tty,userdatabuffer,int buff_len )
{
msg.iov.iov_base=userdatabuffer;
sock_sendmsg();
}
Since sock_sendmsg calls many sleep calls like might_sleep we are not supposed use them, so can u plz suggest me if there is any other way of passing the data.
Regards,
J.ENDEAVOR