But file_read on file pointer doesn't work in the same way as read on file
descriptor, even if it is in the same thread - right after file_open!

That would be surprising because read() just calls file_read(). I would expect the behaviors to be the same.

If there is a semaphore locking issue, I would first be suspicious of drivers/can/can.c.

Did you try enabling CAN debug.  Perhaps, if you are lucky, it will show something of interest.

Reply via email to