Apparently, someone changed the gsc driver to allocate one big buffer
at device attach time, instead of allocating and freeing buffers as necessary. But he or she forgot to remove the line that invalidated the buffer when the device is closed. Therefore, after using the device for the first time, the buffer was incorrectly invalidated and that caused a page fault on the second, and subsequent uses. Closes PR # kern/2319: Using Genius GS-4500 scanner... Submitted by: jmrueda@diatel.upm.es (Javier Martmn Rueda)
This commit is contained in:
parent
bbb45ada41
commit
4aa5c59642
@ -635,7 +635,6 @@ gscclose (dev_t dev, int flags, int fmt, struct proc *p)
|
||||
|
||||
outb(scu->ctrl, scu->ctrl_byte & ~GSC_POWER_ON);
|
||||
|
||||
scu->sbuf.base = NULL;
|
||||
scu->sbuf.size = INVALID;
|
||||
scu->sbuf.poi = INVALID;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user