Re: [PATCH] Revert "cdc-acm: implement put_char() and flush_chars()"

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

 



On Thu, Aug 30, 2018 at 11:18:36AM +0200, Oliver Neukum wrote:
> This reverts commit a81cf9799ad7299b03a4dff020d9685f9ac5f3e0.
> 
> The patch causes a regression, which I cannot find the reason for.
> So let's revert for now, as a revert hurts only performance.
> 
> I was trying to resolve the problem with Oliver but we don't get any
> conclusion
> for 5 months, so I am now sending this to mail list and cdc_acm authors.
> 
> I am using simple request-response protocol to obtain the boiller
> parameters
> in constant intervals.
> 
> A simple one transaction is:
> 1. opening the /dev/ttyACM0
> 2. sending the following 10-bytes request to the device:
>     unsigned char req[] = {0x02, 0xfe, 0x01, 0x05, 0x08, 0x02, 0x01,
> 0x69, 0xab, 0x03};
> 3. reading response (frame of 74 bytes length).
> 4. closing the descriptor
> I am doing this transaction with 5 seconds intervals.
> 
> Before the bad commit everything was working correctly: I've got a
> requests and
> a responses in a timely manner.
> 
> After the bad commit more time I am using the kernel module, more
> problems I have.
> The graph [2] is showing the problem.
> 
> As you can see after module load all seems fine but after about 30
> minutes I've got
> a plenty of EAGAINs when doing read()'s and trying to read back the
> data.
> 
> When I rmmod and insmod the cdc_acm module again, then the situation is
> starting
> over again: running ok shortly after load, and more time it is running,
> more EAGAINs
> I have when calling read().
> 
> As a bonus I can see the problem on the device itself:
> The device is configured as you can see here on this screen [3].
> It has two transmision LEDs: TX and RX. Blink duration is set for 100ms.
> This is a recording before the bad commit when all is working fine: [4]
> And this is with the bad commit: [5]
> As you can see the TX led is blinking wrongly long (indicating
> transmission?)
> and I have problems doing read() calls (EAGAIN).
> 
> Reported-by: manio <manio@xxxxxxxxxx>
> Signed-off-by: Oliver Neukum <oneukum@xxxxxxxx>
> Fixes: a81cf9799ad7 ("cdc-acm: implement put_char() and flush_chars()")
> Cc: stable <stable@xxxxxxxxxxxxxxx>
> ---
>  drivers/usb/class/cdc-acm.c | 92 ---------------------------------------------
>  drivers/usb/class/cdc-acm.h |  1 -
>  2 files changed, 93 deletions(-)

This does not apply to Linus's tree right now, can you refresh it and
resend?

thanks,

greg k-h



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

  Powered by Linux