Hi Greg and Stephen, Firstly I unreservedly apologize to Stephen Rothwell for not including the "Reported-by:" line. This was not intentional on my part and I very much appreciate him reporting the bug and his subsequent help. Regarding the fix: I was not happy with this either but spent more than a day trying to understand why the PowerPC compiler was objecting to the case label. It didn't happen when using x32, x64 or 32-bit PowerPC compiler but did when 64-bit was enabled for PowerPC. There were other seemingly similar _IOR definitions earlier in the switch statement that it was happy with. When I reduced the size of the data structure the compiler stopped objecting. Since this particular ioctl is only used for debugging and may be removed later I decided to submit that as a fix in the short term. If anyone can help with understanding what the root cause of the problem is then I would be very grateful indeed. Concerning the data structure: this is indeed exported to user space. Is the problem that it should only use "__" data types (e.g. __u32) and that the "header-" line is missing from Kbuild or have I done other things wrong? Kind regards Chris Kelly -----Original Message----- From: gregkh@xxxxxxxxxxxxxxxxxxx [mailto:gregkh@xxxxxxxxxxxxxxxxxxx] Sent: 29 February 2012 11:10 PM To: Chris Kelly Cc: linux-usb@xxxxxxxxxxxxxxx Subject: Re: [PATCH 1/1] staging: ozwpan: Reduced size of oz_evtlist structure. On Wed, Feb 29, 2012 at 04:39:57PM +0000, Chris Kelly wrote: > > This structure is used in an ioctl definition and was causing the > 64-bit PowerPC build to fail. The size of the array in the structure > has been reduced to fix this. > > Signed-off-by: Chris Kelly <ckelly@xxxxxxxxxxxxxxx> > --- You forgot to put a "Reported-by:" line in here, to credit the person who reported this to you. Don't worry, I'll fix it up. > drivers/staging/ozwpan/ozeventdef.h | 2 +- > 1 files changed, 1 insertions(+), 1 deletions(-) > > diff --git a/drivers/staging/ozwpan/ozeventdef.h > b/drivers/staging/ozwpan/ozeventdef.h > index cfe4163..a880288 100644 > --- a/drivers/staging/ozwpan/ozeventdef.h > +++ b/drivers/staging/ozwpan/ozeventdef.h > @@ -37,7 +37,7 @@ struct oz_event { > unsigned ctx4; > }; > > -#define OZ_EVT_LIST_SZ 256 > +#define OZ_EVT_LIST_SZ 64 Really? That was the fix? Why can't PPC handle big ioctl structures? > struct oz_evtlist { > int count; > int missed; You do realize that if this structure is exported to userspace, it is done incorrectly, right? And that will be removed before we can move it out of staging/ :) 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