Hi,
    I have encounter a problem while sending Serial_State packet of CDC-ACM 
from Linux gadget to Linux host .
Here is my question:
    The environment is a USB device which runs Linux is using CDC-ACM(f_acm.c) 
to communicate with a Linux host(cdc-acm.c). When device tries to send 
Serial_State packet to host, host always can't get correct data. I look into 
the host driver(cdc-acm.c) and found driver calls get_unaligned_le16 on data 
and this function inverts byte order of data.
    Following is the link of cdc-acm.c and f_acm.c
ACM host:     
http://lxr.free-electrons.com/source/drivers/usb/class/cdc-acm.c#L325
ACM gadget:    
http://lxr.free-electrons.com/source/drivers/usb/gadget/function/f_acm.c#L493
    From the current code, gadget send Serial_State in big-endian but host 
treat it as little-endian.
Is this a problem?

Appreciate for your time
Benson


________________________________

Important Notice: This email message and any attachments thereto are 
confidential and/or privileged and/or subject to privacy laws and are intended 
only for use by the addressee(s) named above. If you are not the intended 
addressee, you are hereby kindly notified that any dissemination, distribution, 
copying or use of this email and any attachments thereto is strictly 
prohibited. If you have received this email in error, kindly delete it from 
your computer system and notify us at the telephone number or email address 
appearing above. The writer asserts in respect of this message and attachments 
all rights for confidentiality, privilege or privacy to the fullest extent 
permitted by law.
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to