Messages in this thread | | | Date | Mon, 2 Jun 2014 19:46:30 +0200 | From | Johan Hovold <> | Subject | Re: ftdi_sio BUG: NULL pointer dereference |
| |
On Mon, Jun 02, 2014 at 01:11:37PM -0400, Mike Remski wrote: > On 06/02/2014 12:49 PM, Johan Hovold wrote: > > On Mon, Jun 02, 2014 at 12:24:44PM -0400, Mike Remski wrote: > >> On 06/02/2014 12:20 PM, Johan Hovold wrote: > >>> On Mon, Jun 02, 2014 at 12:02:40PM -0400, Mike Remski wrote: > >>>> On 06/02/2014 11:40 AM, Johan Hovold wrote: > >>>>> [ Please avoid top-posting. ] > >>>>> > >>>>> On Mon, Jun 02, 2014 at 11:16:11AM -0400, Mike Remski wrote:
> >>> The third interface lacks endpoints and crashes the ftdi_sio driver. > >>> This shouldn't happen (even if you're forcing the wrong driver to bind), > >>> so I'll fix it up if still broken in v3.15-rc. > >>> > >> Johan, > >> Thanks again. Yes, the device does indeed have an FTDI embedded in it; > >> they've programmed in their own ids. They supply a Windows driver for > >> it, but that doesn't do me any good. :) > > Not just their own ID's it seems. > > > > Have you tried just using the cdc-acm driver? The ports should up as > > /dev/ttyACMx instead of ttyUSBx. > > > Not yet, next on the list.
You really should try this before anything else. :)
> I'm suspecting that bNumEndpoints == 0 is causing endpoint[1].desc to > stay at NULL (line 1567 in 3.1.4.5 source), so by the time it gets used > later on, I'm hitting the NULL dereference.
Yeah, the code is obviously broken (also in v3.15-rc). It should probably work to just return from ftdi_set_max_packet_size if num_endpoints is 0 if you want to try that (or you can use your ?: construct), but I should be able to fix this up properly on Wednesday.
Thanks, Johan
| |