NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: kern/50810: Kernel page fault trap in ugenclose()



The following reply was made to PR kern/50810; it has been noted by GNATS.

From: Andreas Gustafsson <gson%gson.org@localhost>
To: Nick Hudson <skrll%netbsd.org@localhost>
Cc: gnats-bugs%NetBSD.org@localhost
Subject: Re: kern/50810: Kernel page fault trap in ugenclose()
Date: Mon, 22 Feb 2016 11:01:56 +0200

 Nick Hudson wrote:
 > > I guess the answer is that there is no canonical way, and that
 > > each function is just checking whatever field it is going to
 > > dereference (if it is checking at all).
 > 
 > Huh? check either or both...
 
 That's what I'm saying - if all choices are equally correct, then by
 definition, none of them is canonical.
 
 > Can you work out where in sane it's doing the 
 > ioctl(USB_SET_ALTINTERFACE) and
 > why it's choosing to do it before closing the endpoints of the existing 
 > interface? #
 > I'm curious what behaviour it's expecting.
 
 From sane-backends-1.0.25/sanei/sanei_usb.c, around line 2154:
 
       /* This call seems to be required by Linux xhci driver
        * even though it should be a no-op. Without it, the
        * host or driver does not reset it's data toggle bit.
        * We intentionally ignore the return val */
 =>    sanei_usb_set_altinterface (dn, devices[dn].alt_setting);
 
       libusb_release_interface (devices[dn].lu_handle,
                                 devices[dn].interface_nr);
       libusb_close (devices[dn].lu_handle);
 
 -- 
 Andreas Gustafsson, gson%gson.org@localhost
 


Home | Main Index | Thread Index | Old Index