浏览代码

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>
hayeswang 12 年之前
父节点
当前提交
e3ad412ad8
共有 1 个文件被更改,包括 4 次插入3 次删除
  1. 4 3
      drivers/net/usb/r8152.c

+ 4 - 3
drivers/net/usb/r8152.c

@@ -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;