r8152: move the actions of saving the information of the device

Some information of the device may be used in other functions. Move
the relative code to make sure it would be initialzed correctly
before using it.

Signed-off-by: Hayes Wang <hayeswang@realtek.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
hayeswang 2014-01-06 17:08:42 +08:00 committed by David S. Miller
parent 45f4a19f6d
commit e3ad412ad8

View File

@ -2759,6 +2759,10 @@ static int rtl8152_probe(struct usb_interface *intf,
tp = netdev_priv(netdev); tp = netdev_priv(netdev);
tp->msg_enable = 0x7FFF; tp->msg_enable = 0x7FFF;
tp->udev = udev;
tp->netdev = netdev;
tp->intf = intf;
if (!rtl_ops_init(tp, id)) { if (!rtl_ops_init(tp, id)) {
netif_err(tp, probe, netdev, "Unknown Device"); netif_err(tp, probe, netdev, "Unknown Device");
return -ENODEV; return -ENODEV;
@ -2767,9 +2771,6 @@ static int rtl8152_probe(struct usb_interface *intf,
tasklet_init(&tp->tl, bottom_half, (unsigned long)tp); tasklet_init(&tp->tl, bottom_half, (unsigned long)tp);
INIT_DELAYED_WORK(&tp->schedule, rtl_work_func_t); INIT_DELAYED_WORK(&tp->schedule, rtl_work_func_t);
tp->udev = udev;
tp->netdev = netdev;
tp->intf = intf;
netdev->netdev_ops = &rtl8152_netdev_ops; netdev->netdev_ops = &rtl8152_netdev_ops;
netdev->watchdog_timeo = RTL8152_TX_TIMEOUT; netdev->watchdog_timeo = RTL8152_TX_TIMEOUT;