Re: serial port driver with ppp hangs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello Team,
Since we should not be calling sock_send msg from interrupt context,
Is there any other alterative call that we can use to send messages over TCP sockets
From interrupt 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


On 2/7/07, Erik Mouw <mouw@xxxxxxxxxxxx> wrote:
On Wed, Feb 07, 2007 at 09:43:43AM -0800, Greg KH wrote:
> On Wed, Feb 07, 2007 at 06:04:06PM +0100, Erik Mouw wrote:
> > FWIW, you can find such functionality in the Perle trueport driver for
> > their Jetstream ethernet serial ports. See
> > http://www.perle.com/downloads/trueport.shtml .
>
> They are hacking up the pty layer in a way that is not very "nice" :(

Well, it's basically a copy of the legacy BSD pty layer with some extra
code for the Trueport to support the real hardware related ioctls (set
speed, etc). The ethernet stuff (or rather: TCP/IP stuff) is handled in
userspace, which is nice.

If you would extend the current Unix98 ptys with such hardware related
functionality, you could handle all ethernet terminal servers in
userland.


Erik

--
They're all fools. Don't worry. Darwin may be slow, but he'll
eventually get them. -- Matthew Lammers in alt.sysadmin.recovery

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)

iD8DBQFFyhfY/PlVHJtIto0RAs8WAJ9QtJ0bXpGT97fJ44HP7FVOuP3rygCfQI0M
WctqRxduKwfRXq8PYD6rWqM=
=pnmf
-----END PGP SIGNATURE-----



[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux