Messages in this thread | | | Date | Sun, 03 Mar 2013 18:17:38 -0500 | From | Sasha Levin <> | Subject | Re: [PATCH] ircomm: release tty before sleeping potentially indefintely |
| |
On 03/03/2013 05:47 PM, David Miller wrote: > From: Sasha Levin <sasha.levin@oracle.com> > Date: Sun, 3 Mar 2013 17:35:53 -0500 > >> ircomm_tty_block_til_ready would hold tty lock while blocking. Since the sleep >> might take a long time we can prevent other processes from accessing the tty, >> causing hung tasks and a dead tty. >> >> Diagnosed-by: Peter Hurley <peter@hurleysoftware.com> >> Signed-off-by: Sasha Levin <sasha.levin@oracle.com> > > But then you invalidate all of the tty state tests made under > the lock at the beginning of this function, before enterring > the loop. If you drop the lock, those pieces of state could > change. > > I'm not applying this.
I'm unsure. A similar patch was applied back in 2010 that does the same thing to a bunch of drivers, including the core tty code (e142a31da "tty: release BTM while sleeping in block_til_ready").
This IR code looks very much like tty_port_block_til_ready() where it was okay to do that change, so I should be the same with ircomm_tty_block_til_ready.
Thanks, Sasha
| |