From: Américo Wang on 31 Mar 2010 00:40 On Wed, Mar 31, 2010 at 4:56 AM, Arnd Bergmann <arnd(a)arndb.de> wrote: > ppp interacts with the tty layer, so it should > take the BTM instead of the BKL. > > Signed-off-by: Arnd Bergmann <arnd(a)arndb.de> > --- > drivers/net/ppp_generic.c | 29 +++++++++++++++-------------- > 1 files changed, 15 insertions(+), 14 deletions(-) > > diff --git a/drivers/net/ppp_generic.c b/drivers/net/ppp_generic.c > index 6d61602..bc89a1b 100644 > --- a/drivers/net/ppp_generic.c > +++ b/drivers/net/ppp_generic.c > @@ -40,7 +40,7 @@ > #include <linux/if_arp.h> > #include <linux/ip.h> > #include <linux/tcp.h> > -#include <linux/smp_lock.h> > +#include <linux/tty.h> > #include <linux/spinlock.h> > #include <linux/rwsem.h> > #include <linux/stddef.h> > @@ -362,7 +362,8 @@ static const int npindex_to_ethertype[NUM_NP] = { > */ > static int ppp_open(struct inode *inode, struct file *file) > { > - cycle_kernel_lock(); > + tty_lock(); > + tty_unlock(); I don't really get your point here. :) Why do you do this? -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
From: Arnd Bergmann on 31 Mar 2010 03:40 On Wednesday 31 March 2010 06:37:12 Américo Wang wrote: > > @@ -362,7 +362,8 @@ static const int npindex_to_ethertype[NUM_NP] = { > > */ > > static int ppp_open(struct inode *inode, struct file *file) > > { > > - cycle_kernel_lock(); > > + tty_lock(); > > + tty_unlock(); > > I don't really get your point here. :) Why do you do this? This is a blind conversion of the API from the common BKL functions to the TTY lock functions. There is no cycle_tty_lock(), so I'm manually doing the cycle. The reason why cycle_kernel_lock() was introduced in the first place is that some drivers may depend on the open() function not returning while another CPU holds the BKL. I did not feel qualified (or motivated) to determine if the ppp code has the behavior, so I left it at this. Arnd -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo(a)vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
|
Pages: 1 Prev: [GIT PULL v2] perf fixes Next: Config NO_BOOTMEM breaks my amd64 box |