mirror of https://gitee.com/openkylin/linux.git
pps: claim parallel port exclusively
Both pps_parport and pps_gen_parport are written in a way that they can't share a port with any other driver. This can result in locking up the process that loads modules or even the whole kernel if the modules are compiled in. Use PARPORT_FLAG_EXCL to indicate this. Signed-off-by: Alexander Gordeev <lasaine@lvk.cs.msu.su> Cc: Alexander Gordeev <lasaine@lvk.cs.msu.su> Cc: Ingo Molnar <mingo@elte.hu> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
a783ac4453
commit
4f542e3dd9
|
@ -163,7 +163,7 @@ static void parport_attach(struct parport *port)
|
|||
}
|
||||
|
||||
device->pardev = parport_register_device(port, KBUILD_MODNAME,
|
||||
NULL, NULL, parport_irq, 0, device);
|
||||
NULL, NULL, parport_irq, PARPORT_FLAG_EXCL, device);
|
||||
if (!device->pardev) {
|
||||
pr_err("couldn't register with %s\n", port->name);
|
||||
goto err_free;
|
||||
|
|
|
@ -198,7 +198,7 @@ static void parport_attach(struct parport *port)
|
|||
}
|
||||
|
||||
device.pardev = parport_register_device(port, KBUILD_MODNAME,
|
||||
NULL, NULL, NULL, 0, &device);
|
||||
NULL, NULL, NULL, PARPORT_FLAG_EXCL, &device);
|
||||
if (!device.pardev) {
|
||||
pr_err("couldn't register with %s\n", port->name);
|
||||
return;
|
||||
|
|
Loading…
Reference in New Issue