Am Mittwoch, den 21.08.2019, 23:35 +0000 schrieb
charles.h...@dellteam.com:
> <snipped>
> > 
> > This is a VERY cdc-net-specific function.  It is not a "generic" USB
> > function at all.  Why does it belong in the USB core?  Shouldn't it live
> > in the code that handles the other cdc-net-specific logic?
> > 
> > thanks,
> > 
> > greg k-h
> 
> 
> Thank you for this feedback, Greg.  I was not sure about adding this to 
> message.c, because of the USB_CDC_GET_NET_ADDRESS.  I had found references to 
> SET_ADDRESS in the USB protocol at 
> https://wiki.osdev.org/Universal_Serial_Bus#USB_Protocol.  If one wanted a 
> generic USB function for SET_ADDRESS, to be used for both sending a MAC 
> address and receiving one, how would you suggest this be implemented?  This 
> is a legit question because I am curious.

Your implementation was, except for missing error handling, usable.
The problem is where you put it. CDC messages exist only for CDC
devices. Now it is true that there is no generic CDC driver.
Creating a module just for that would cost more memory than it saves
in most cases.
But MACs are confined to network devices. Hence the functionality
can be put into usbnet. It should not be put into any individual
driver, so that every network driver can use it without duplication.

> Your feedback led to moving the functionality into cdc_ncm.c for today's 
> testing, and removing all changes from messages.c, usb.h, usbnet.c, and 
> usbnet.h.  This may be where I end up long term, but I would like to learn if 
> there is a possible solution that could live in message.c and be callable 
> from other USB-to-Ethernet aware drivers.

All those drivers use usbnet. Hence there it should be.

        Regards
                Oliver

Reply via email to