On Wed, Oct 14 2020 at 12:14, Alan Stern wrote:
> On Wed, Oct 14, 2020 at 04:52:18PM +0200, Thomas Gleixner wrote:
>> From: Sebastian Andrzej Siewior <bige...@linutronix.de>
>> 
>> Having two copies of the same code doesn't make the code more readable and
>> allocating a buffer of 1 byte for a synchronous operation is a pointless
>> exercise.
>
> Not so.  In fact, it is required, because a portion of a structure 
> cannot be mapped for DMA unless it is aligned at a cache line boundary.
>
>> Add a byte buffer to struct keyspan_pda_private which can be used
>> instead. The buffer is only used in open() and tty->write().
>
> This won't work.

Ok.

>> +    res = usb_control_msg(serial->dev, usb_rcvctrlpipe(serial->dev, 0),
>> +                          6, /* write_room */
>> +                          USB_TYPE_VENDOR | USB_RECIP_INTERFACE | 
>> USB_DIR_IN,
>> +                          0, /* value */
>> +                          0, /* index */
>> +                          &priv->query_buf,
>> +                          1,
>> +                          2000);
>
> Instead, consider using the new usb_control_msg_recv() API.  But it 
> might be better to allocate the buffer once and for all.

Let me have a look.

Thanks,

        tglx

Reply via email to