Skip to content

Commit

Permalink
Merge branch 'r8152'
Browse files Browse the repository at this point in the history
Hayes Wang says:

====================
r8152: remove limitation

Remove the limitation between ecm mode and vendor mode.

v2: replace the patch #3 with "ecm and vendor modes coexist".
====================

Signed-off-by: David S. Miller <[email protected]>
  • Loading branch information
davem330 committed Jan 15, 2014
2 parents 5571415 + c7de7de commit 85a5bac
Show file tree
Hide file tree
Showing 4 changed files with 27 additions and 57 deletions.
5 changes: 3 additions & 2 deletions drivers/net/usb/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -92,11 +92,12 @@ config USB_RTL8150
module will be called rtl8150.

config USB_RTL8152
tristate "Realtek RTL8152 Based USB 2.0 Ethernet Adapters"
tristate "Realtek RTL8152/RTL8153 Based USB Ethernet Adapters"
select MII
help
This option adds support for Realtek RTL8152 based USB 2.0
10/100 Ethernet adapters.
10/100 Ethernet adapters and RTL8153 based USB 3.0 10/100/1000
Ethernet adapters.

To compile this driver as a module, choose M here: the
module will be called r8152.
Expand Down
9 changes: 0 additions & 9 deletions drivers/net/usb/cdc_ether.c
Original file line number Diff line number Diff line change
Expand Up @@ -653,15 +653,6 @@ static const struct usb_device_id products[] = {
.driver_info = 0,
},

#if defined(CONFIG_USB_RTL8152) || defined(CONFIG_USB_RTL8152_MODULE)
/* Samsung USB Ethernet Adapters */
{
USB_DEVICE_AND_INTERFACE_INFO(SAMSUNG_VENDOR_ID, 0xa101, USB_CLASS_COMM,
USB_CDC_SUBCLASS_ETHERNET, USB_CDC_PROTO_NONE),
.driver_info = 0,
},
#endif

/* WHITELIST!!!
*
* CDC Ether uses two interfaces, not necessarily consecutive.
Expand Down
62 changes: 24 additions & 38 deletions drivers/net/usb/r8152.c
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright (c) 2013 Realtek Semiconductor Corp. All rights reserved.
* Copyright (c) 2014 Realtek Semiconductor Corp. All rights reserved.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
Expand All @@ -24,9 +24,9 @@
#include <linux/ipv6.h>

/* Version Information */
#define DRIVER_VERSION "v1.03.0 (2013/12/26)"
#define DRIVER_VERSION "v1.04.0 (2014/01/15)"
#define DRIVER_AUTHOR "Realtek linux nic maintainers <[email protected]>"
#define DRIVER_DESC "Realtek RTL8152 Based USB 2.0 Ethernet Adapters"
#define DRIVER_DESC "Realtek RTL8152/RTL8153 Based USB Ethernet Adapters"
#define MODULENAME "r8152"

#define R8152_PHY_ID 32
Expand Down Expand Up @@ -450,6 +450,9 @@ enum rtl8152_flags {
#define MCU_TYPE_PLA 0x0100
#define MCU_TYPE_USB 0x0000

#define REALTEK_USB_DEVICE(vend, prod) \
USB_DEVICE_INTERFACE_CLASS(vend, prod, USB_CLASS_VENDOR_SPEC)

struct rx_desc {
__le32 opts1;
#define RX_LEN_MASK 0x7fff
Expand Down Expand Up @@ -1100,40 +1103,28 @@ static void free_all_mem(struct r8152 *tp)
int i;

for (i = 0; i < RTL8152_MAX_RX; i++) {
if (tp->rx_info[i].urb) {
usb_free_urb(tp->rx_info[i].urb);
tp->rx_info[i].urb = NULL;
}
usb_free_urb(tp->rx_info[i].urb);
tp->rx_info[i].urb = NULL;

if (tp->rx_info[i].buffer) {
kfree(tp->rx_info[i].buffer);
tp->rx_info[i].buffer = NULL;
tp->rx_info[i].head = NULL;
}
kfree(tp->rx_info[i].buffer);
tp->rx_info[i].buffer = NULL;
tp->rx_info[i].head = NULL;
}

for (i = 0; i < RTL8152_MAX_TX; i++) {
if (tp->tx_info[i].urb) {
usb_free_urb(tp->tx_info[i].urb);
tp->tx_info[i].urb = NULL;
}
usb_free_urb(tp->tx_info[i].urb);
tp->tx_info[i].urb = NULL;

if (tp->tx_info[i].buffer) {
kfree(tp->tx_info[i].buffer);
tp->tx_info[i].buffer = NULL;
tp->tx_info[i].head = NULL;
}
kfree(tp->tx_info[i].buffer);
tp->tx_info[i].buffer = NULL;
tp->tx_info[i].head = NULL;
}

if (tp->intr_urb) {
usb_free_urb(tp->intr_urb);
tp->intr_urb = NULL;
}
usb_free_urb(tp->intr_urb);
tp->intr_urb = NULL;

if (tp->intr_buff) {
kfree(tp->intr_buff);
tp->intr_buff = NULL;
}
kfree(tp->intr_buff);
tp->intr_buff = NULL;
}

static int alloc_all_mem(struct r8152 *tp)
Expand Down Expand Up @@ -2048,7 +2039,7 @@ static void r8153_first_init(struct r8152 *tp)
/* TX share fifo free credit full threshold */
ocp_write_dword(tp, MCU_TYPE_PLA, PLA_TXFIFO_CTRL, TXFIFO_THR_NORMAL2);

// rx aggregation
/* rx aggregation */
ocp_data = ocp_read_word(tp, MCU_TYPE_USB, USB_USB_CTRL);
ocp_data &= ~RX_AGG_DISABLE;
ocp_write_word(tp, MCU_TYPE_USB, USB_USB_CTRL, ocp_data);
Expand Down Expand Up @@ -2750,11 +2741,6 @@ static int rtl8152_probe(struct usb_interface *intf,
struct net_device *netdev;
int ret;

if (udev->actconfig->desc.bConfigurationValue != 1) {
usb_driver_set_configuration(udev, 1);
return -ENODEV;
}

netdev = alloc_etherdev(sizeof(struct r8152));
if (!netdev) {
dev_err(&intf->dev, "Out of memory\n");
Expand Down Expand Up @@ -2835,9 +2821,9 @@ static void rtl8152_disconnect(struct usb_interface *intf)

/* table of devices that work with this driver */
static struct usb_device_id rtl8152_table[] = {
{USB_DEVICE(VENDOR_ID_REALTEK, PRODUCT_ID_RTL8152)},
{USB_DEVICE(VENDOR_ID_REALTEK, PRODUCT_ID_RTL8153)},
{USB_DEVICE(VENDOR_ID_SAMSUNG, PRODUCT_ID_SAMSUNG)},
{REALTEK_USB_DEVICE(VENDOR_ID_REALTEK, PRODUCT_ID_RTL8152)},
{REALTEK_USB_DEVICE(VENDOR_ID_REALTEK, PRODUCT_ID_RTL8153)},
{REALTEK_USB_DEVICE(VENDOR_ID_SAMSUNG, PRODUCT_ID_SAMSUNG)},
{}
};

Expand Down
8 changes: 0 additions & 8 deletions drivers/net/usb/r815x.c
Original file line number Diff line number Diff line change
Expand Up @@ -216,21 +216,13 @@ static const struct usb_device_id products[] = {
{
USB_DEVICE_AND_INTERFACE_INFO(REALTEK_VENDOR_ID, 0x8152, USB_CLASS_COMM,
USB_CDC_SUBCLASS_ETHERNET, USB_CDC_PROTO_NONE),
#if defined(CONFIG_USB_RTL8152) || defined(CONFIG_USB_RTL8152_MODULE)
.driver_info = 0,
#else
.driver_info = (unsigned long) &r8152_info,
#endif
},

{
USB_DEVICE_AND_INTERFACE_INFO(REALTEK_VENDOR_ID, 0x8153, USB_CLASS_COMM,
USB_CDC_SUBCLASS_ETHERNET, USB_CDC_PROTO_NONE),
#if defined(CONFIG_USB_RTL8152) || defined(CONFIG_USB_RTL8152_MODULE)
.driver_info = 0,
#else
.driver_info = (unsigned long) &r8153_info,
#endif
},

{ }, /* END */
Expand Down

0 comments on commit 85a5bac

Please sign in to comment.