lkml.org 
[lkml]   [2014]   [Sep]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
SubjectRe: [PATCH v5 4/4] gpio: add support for the Diolan DLN-2 USB GPIO driver
From
On Sat, Sep 20, 2014 at 5:48 AM, Arnd Bergmann <arnd@arndb.de> wrote:
> On Friday 19 September 2014, Octavian Purdila wrote:
>> +struct dln2_gpio_pin {
>> + __le16 pin;
>> +} __packed;
>
> This does not need to be marked packed, since it is never embedded in another
> structure.
>

Will do.

>> +struct dln2_gpio_pin_val {
>> + __le16 pin;
>> + u8 value;
>> +} __packed;
>
> It's enough here to mark just the 'pin' member as packed.
>

OK.

>> +static int dln2_gpio_get_pin_count(struct platform_device *pdev)
>> +{
>> + int ret;
>> + __le16 count;
>> + int len = sizeof(count);
>> +
>> + ret = dln2_transfer(pdev, DLN2_GPIO_GET_PIN_COUNT, NULL, 0, &count,
>> + &len);
>
> You must not do a USB transaction on stack memory.
>

dln2_transfer allocate a new buffer (in dln2_prep_buf(), with
kmalloc()) and does the USB transfer with that buffer.


\
 
 \ /
  Last update: 2014-09-20 08:41    [W:0.062 / U:1.200 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site