On Fri, Dec 08, 2017 at 10:30:43AM +0000, Michael Drake wrote: > On 07/12/17 20:04, Greg KH wrote: > > On Thu, Dec 07, 2017 at 07:24:35PM +0000, Michael Drake wrote: > > > On 07/12/17 17:26, Greg KH wrote: > > > > On Thu, Dec 07, 2017 at 05:14:10PM +0000, Michael Drake wrote: > > > > > On 07/12/17 15:16, Greg KH wrote: > > > > > > On Thu, Dec 07, 2017 at 04:01:23PM +0100, Greg KH wrote: > > > > > > > Oops, I should have tested the code, it now crashes for me with the > > > > > > > following error: > > > > > > > Floating point exception (core dumped) > > > > > > > > > > > > > > Do you see this as well? > > > > > > > > > > No, I don't see that. > > > > > > > > > > > And it's crashing on my USB audio device. Here's the output of it from > > > > > > the "old" lsusb output. > > > > > > > > > > [snip] > > > > > > > > > > Does it still crash with the warning fixes I posted? If so I'll > > > > > look in detail tomorrow. > > > > > > > > I will check when I get home tonight, I don't have the USB device on me > > > > at the moment. > > > > > > Thank you. I believe I've guessed the problem and sent a patch. > > > > Ok, that now works. > > > > But there is a difference in the "old" and "new" outputs, here's a diff > > of a full -v output of my laptop and a bunch of USB devices plugged in, > > showing the fields that now look different. > > > > The big one is the change from "streaming" to "control", is that > > correct? > > Replied inline below. > > > thanks, > > > > greg k-h > > > > > > --- lsusb-v.orig 2017-12-07 21:01:26.153185002 +0100 > > +++ lsusb-v.new 2017-12-07 21:01:32.806517978 +0100 > > @@ -1110,9 +1110,9 @@ > > bDescriptorType 36 > > bDescriptorSubtype 1 (HEADER) > > bcdADC 1.00 > > - wTotalLength 0x0028 > > + wTotalLength 40 > > I was a bit confused by this diff at first, because the > "-" lines are my version and the "+" lines are the old > version. Oops, you are right, sorry for getting them backwards. > Anyway, this is expected. For NUMBER type fields, my > code uses the heuristic that 1 byte fields are shown as > decimal and >1 byte is shown as full hexadecimal, with > leading zeros shown. This is consistent with the way > the old lsusb behaved in most cases, although it was > slightly inconsistent about it, and this is an example > of that inconsistency. > > Anyway, since it's a 2 byte field the hex representation > is expected here, and the actual value is the same. Yes, the value is the same, but all other wTotalLength fields exported by lsusb are in decimal. Changing just this one feels odd to me. > > bInCollection 1 > > - baInterfaceNr(0) 1 > > + baInterfaceNr( 0) 1 > > Just a whitespace change. My version's not using > a fixed width for the array index, and only uses what's > needed for the largest index to be represented. Fair enough, I was worried things looked worse now :) > > AudioControl Interface Descriptor: > > bLength 12 > > bDescriptorType 36 > > @@ -1142,10 +1142,10 @@ > > bUnitID 13 > > bSourceID 1 > > bControlSize 1 > > - bmaControls(0) 0x01 > > + bmaControls( 0) 0x01 > > Mute Control > > - bmaControls(1) 0x00 > > - bmaControls(2) 0x00 > > + bmaControls( 1) 0x00 > > + bmaControls( 2) 0x00 > > Ditto for these. > > > iFeature 0 > > Interface Descriptor: > > bLength 9 > > @@ -1173,7 +1173,7 @@ > > bDescriptorSubtype 1 (AS_GENERAL) > > bTerminalLink 1 > > bDelay 1 frames > > - wFormatTag 0x0001 PCM > > + wFormatTag 1 PCM > > This is the >1 byte shown as hexadecimal thing. Ok, consistancy is good, I can see that. > > AudioStreaming Interface Descriptor: > > bLength 20 > > bDescriptorType 36 > > @@ -1199,14 +1199,14 @@ > > bInterval 4 > > bRefresh 0 > > bSynchAddress 133 > > - AudioStreaming Endpoint Descriptor: > > + AudioControl Endpoint Descriptor: > > This is from the dump_audiostreaming_endpoint() function. > The "AudioStreaming" string is correct. Looks like a typo > in the old lsusb output. Hey, bugfixes, nice! Best reason yet to take your patches :) I'll look at moving those other wFields to be also in 0x0000 mode to match up here. thanks, greg k-h -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html