RE: [PATCH 1/1] staging: ozwpan: Reduced size of oz_evtlist structure.

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

 



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


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux