Re: ppdev - libieee1284.so conflicts with 2.6.21

From: Randy Dunlap
Date: Mon Jul 02 2007 - 19:10:45 EST


On Mon, 2 Jul 2007 15:47:53 -0700 Andrew Morton wrote:

> On Mon, 02 Jul 2007 11:22:09 +0200
> Juan Antonio Martinez <jonsito@xxxxxxxxxxx> wrote:
>
> > I've reported this error to Fedora Bugzilla:
> >
> > http://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=246406
> >
> > In sort: to use libieee1284 I need to disable ppdev usage with
> > kernel 2.6.21. Kernel 2.6.20 works fine
> >
> > [root@drake char]# uname -a
> > Linux drake.micasa.es 2.6.21-1.3228.fc7 #1 SMP Tue Jun 12 15:37:31 EDT
> > 2007 i686 athlon i386 GNU/Linux
> >
> > By doing "echo disallow method ppdev > /etc/ieee1284.conf" everything
> > works fine on both kernels
> >
> > Seems affect several distributions, not Fedora specific:
> > http://bugs.archlinux.org/task/7438
> > http://sourceforge.net/tracker/index.php?func=detail&aid=1739643&group_id=29314&atid=395778
> > http://www.digipedia.pl/man/libieee1284.3.html
> >
> > Not sure if a kernel bug or a library one, so my apologizes if
> > this is not the propper list
> >
>
> Not much has changed in ppdev.c. Possibly this:
>
> commit da6752964290567a6b4ea180d1becda75e810e87
> Author: David Brownell <david-b@xxxxxxxxxxx>
> Date: Tue May 8 00:27:42 2007 -0700
>
> layered parport code uses parport->dev
>
> Update some of the layered parport_driver code to use parport->dev:
>
> - i2c-parport (parent of i2c_adapter)
> - spi_butterfly (parent of spi_master, allowing cruft removal)
> - lp (creating class_device)
> - ppdev (parent of parportN device)
> - tipar (creating class_device)
>
> There are still drivers that should be updated, like some of the input
> drivers; but they won't be any worse off than they are today.
>
> broke something.
>
> Can you test a kernel with this change applied?
>
> --- a/drivers/char/ppdev.c~a
> +++ a/drivers/char/ppdev.c
> @@ -751,7 +751,7 @@ static const struct file_operations pp_f
>
> static void pp_attach(struct parport *port)
> {
> - device_create(ppdev_class, port->dev, MKDEV(PP_MAJOR, port->number),
> + device_create(ppdev_class, NULL, MKDEV(PP_MAJOR, port->number),
> "parport%d", port->number);
> }
>
> _


and if that doesn't help, please try this:

boot with kernel boot options:
noisapnp pnpacpi=off

since we have also seen a couple of cases that look like ACPI + PNP
are mucking up parallel port printers, so maybe they also muck up
other ppdevs.


---
~Randy
*** Remember to use Documentation/SubmitChecklist when testing your code ***
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/