FS#52322 - [linux] 4.10.x breaks HP printing

Attached to Project: Arch Linux
Opened by James (thx1138) - Saturday, 31 December 2016, 20:20 GMT
Last edited by Doug Newgard (Scimmia) - Thursday, 13 April 2017, 14:32 GMT
Task Type Bug Report
Category Kernel
Status Closed
Assigned To Tobias Powalowski (tpowa)
Architecture x86_64
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No


linux 4.9-1
hplip 3.16.11-1

In the log:

hp[29426]: io/hpmud/pp.c 585: failed claim_pp fd=7: No such device or address
hp[29426]: prnt/backend/hp.c 824: ERROR: open device failed stat=12: hp:/par/HP_LaserJet_6MP?device=/dev/parport0
kernel: ------------[ cut here ]------------
kernel: WARNING: CPU: 2 PID: 29426 at fs/sysfs/dir.c:31 sysfs_warn_dup+0x62/0x80
kernel: sysfs: cannot create duplicate filename '/devices/parport0/ppdev0.0'
kernel: ------------[ cut here ]------------
kernel: WARNING: CPU: 2 PID: 29426 at lib/kobject.c:240 kobject_add_internal+0x2b4/0x320
kobject_add_internal failed for ppdev0.0 with -EEXIST, don't try to register things with the same name in the same directory.

See attached file for the call trace.

Down-grading the kernel restores normal printer function.
This task depends upon

Closed by  Doug Newgard (Scimmia)
Thursday, 13 April 2017, 14:32 GMT
Reason for closing:  Fixed
Comment by James (thx1138) - Tuesday, 10 January 2017, 22:28 GMT
Same errors with linux 4.9.2-1.
Comment by James (thx1138) - Tuesday, 28 February 2017, 06:22 GMT
Same error in 4.10.1-1. See https://bugs.archlinux.org/task/53104.

See also:

Clearly, the referenced commit does not fix the problem:

commit dd5c472a60e43549d789a17a8444513eec64bd7e
Author: Sudip Mukherjee <sudipm.mukherjee@gmail.com>
Date: Sat Nov 12 21:22:12 2016 +0000

ppdev: check before attaching port
Comment by James (thx1138) - Monday, 06 March 2017, 20:31 GMT
Sudip has provided a patch for the kernel warning, and this will be applied to both 4.10 and 4.9 LTS.
For anyone who cannot wait, the patch is attached.
Comment by James (thx1138) - Sunday, 12 March 2017, 18:58 GMT
The patch did not go into 4.10.2 or 4.9.14.
Comment by James (thx1138) - Friday, 24 March 2017, 14:49 GMT
GKH has added the patch set to his "char-misc git tree which can be found at
in the char-misc-linus branch."

I'm not familiar with how the kernel update process works here, where GKH says "The patch will hopefully also be merged in Linus's tree for the
next -rc kernel release", which implies 4.11, rather than saying anything about patching 4.9 and 4.10. Perhaps there is some misunderstanding?

The thing is, 4.9 is suppose to be an LTS series, and, for now, 1) the parport is simply broken, and 2) the patch has seemingly not been moved into the update queue. Perhaps GKH really really wants Linus to look at it first?

Still, Sudip's patch works for me, and it's not that difficult to manually patch and replace only the ppdev and parport drivers. Alternatively, a
patch -p1 -i "${srcdir}/printing.patch"
could be added to the PKGBUILD.

Comment by James (thx1138) - Thursday, 06 April 2017, 14:08 GMT
The parport and ppdev printing patches have been applied at linux 4.10.7. The parport patch has been applied at 4.9.19, but the ppdev patch for 4.9.19 needed modification to accomodate changes in ppdev.c and still waits. The patch is attached. GKH has also applied the parport patch to 4.4.58, though I don't know how that works without also applying the ppdev.c patch there.
Comment by James (thx1138) - Thursday, 13 April 2017, 14:26 GMT
A modified ppdev patch has now been applied in 4.9.22.