aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/usb/gadget/u_ether.c')
-rw-r--r--drivers/usb/gadget/u_ether.c23
1 files changed, 21 insertions, 2 deletions
diff --git a/drivers/usb/gadget/u_ether.c b/drivers/usb/gadget/u_ether.c
index a52404a1aef..51d572eae9a 100644
--- a/drivers/usb/gadget/u_ether.c
+++ b/drivers/usb/gadget/u_ether.c
@@ -765,6 +765,26 @@ static struct device_type gadget_type = {
765 */ 765 */
766int gether_setup(struct usb_gadget *g, u8 ethaddr[ETH_ALEN]) 766int gether_setup(struct usb_gadget *g, u8 ethaddr[ETH_ALEN])
767{ 767{
768 return gether_setup_name(g, ethaddr, "usb");
769}
770
771/**
772 * gether_setup_name - initialize one ethernet-over-usb link
773 * @g: gadget to associated with these links
774 * @ethaddr: NULL, or a buffer in which the ethernet address of the
775 * host side of the link is recorded
776 * @netname: name for network device (for example, "usb")
777 * Context: may sleep
778 *
779 * This sets up the single network link that may be exported by a
780 * gadget driver using this framework. The link layer addresses are
781 * set up using module parameters.
782 *
783 * Returns negative errno, or zero on success
784 */
785int gether_setup_name(struct usb_gadget *g, u8 ethaddr[ETH_ALEN],
786 const char *netname)
787{
768 struct eth_dev *dev; 788 struct eth_dev *dev;
769 struct net_device *net; 789 struct net_device *net;
770 int status; 790 int status;
@@ -787,7 +807,7 @@ int gether_setup(struct usb_gadget *g, u8 ethaddr[ETH_ALEN])
787 807
788 /* network device setup */ 808 /* network device setup */
789 dev->net = net; 809 dev->net = net;
790 strcpy(net->name, "usb%d"); 810 snprintf(net->name, sizeof(net->name), "%s%%d", netname);
791 811
792 if (get_ether_addr(dev_addr, net->dev_addr)) 812 if (get_ether_addr(dev_addr, net->dev_addr))
793 dev_warn(&g->dev, 813 dev_warn(&g->dev,
@@ -943,7 +963,6 @@ void gether_disconnect(struct gether *link)
943 struct eth_dev *dev = link->ioport; 963 struct eth_dev *dev = link->ioport;
944 struct usb_request *req; 964 struct usb_request *req;
945 965
946 WARN_ON(!dev);
947 if (!dev) 966 if (!dev)
948 return; 967 return;
949 968