diff options
Diffstat (limited to 'drivers/net/can')
-rw-r--r-- | drivers/net/can/dev.c | 3 | ||||
-rw-r--r-- | drivers/net/can/mscan/mscan.c | 8 | ||||
-rw-r--r-- | drivers/net/can/mscan/mscan.h | 1 | ||||
-rw-r--r-- | drivers/net/can/sja1000/sja1000.c | 8 | ||||
-rw-r--r-- | drivers/net/can/sja1000/sja1000.h | 1 | ||||
-rw-r--r-- | drivers/net/can/usb/ems_usb.c | 7 | ||||
-rw-r--r-- | drivers/net/can/usb/esd_usb2.c | 10 | ||||
-rw-r--r-- | drivers/net/can/usb/peak_usb/pcan_usb_core.c | 5 | ||||
-rw-r--r-- | drivers/net/can/usb/peak_usb/pcan_usb_core.h | 1 |
9 files changed, 1 insertions, 43 deletions
diff --git a/drivers/net/can/dev.c b/drivers/net/can/dev.c index 963e2ccd10db..8233e5ed2939 100644 --- a/drivers/net/can/dev.c +++ b/drivers/net/can/dev.c | |||
@@ -609,8 +609,7 @@ void close_candev(struct net_device *dev) | |||
609 | { | 609 | { |
610 | struct can_priv *priv = netdev_priv(dev); | 610 | struct can_priv *priv = netdev_priv(dev); |
611 | 611 | ||
612 | if (del_timer_sync(&priv->restart_timer)) | 612 | del_timer_sync(&priv->restart_timer); |
613 | dev_put(dev); | ||
614 | can_flush_echo_skb(dev); | 613 | can_flush_echo_skb(dev); |
615 | } | 614 | } |
616 | EXPORT_SYMBOL_GPL(close_candev); | 615 | EXPORT_SYMBOL_GPL(close_candev); |
diff --git a/drivers/net/can/mscan/mscan.c b/drivers/net/can/mscan/mscan.c index 2b104d5f422c..e6b40954e204 100644 --- a/drivers/net/can/mscan/mscan.c +++ b/drivers/net/can/mscan/mscan.c | |||
@@ -517,12 +517,8 @@ static irqreturn_t mscan_isr(int irq, void *dev_id) | |||
517 | 517 | ||
518 | static int mscan_do_set_mode(struct net_device *dev, enum can_mode mode) | 518 | static int mscan_do_set_mode(struct net_device *dev, enum can_mode mode) |
519 | { | 519 | { |
520 | struct mscan_priv *priv = netdev_priv(dev); | ||
521 | int ret = 0; | 520 | int ret = 0; |
522 | 521 | ||
523 | if (!priv->open_time) | ||
524 | return -EINVAL; | ||
525 | |||
526 | switch (mode) { | 522 | switch (mode) { |
527 | case CAN_MODE_START: | 523 | case CAN_MODE_START: |
528 | ret = mscan_restart(dev); | 524 | ret = mscan_restart(dev); |
@@ -590,8 +586,6 @@ static int mscan_open(struct net_device *dev) | |||
590 | goto exit_napi_disable; | 586 | goto exit_napi_disable; |
591 | } | 587 | } |
592 | 588 | ||
593 | priv->open_time = jiffies; | ||
594 | |||
595 | if (priv->can.ctrlmode & CAN_CTRLMODE_LISTENONLY) | 589 | if (priv->can.ctrlmode & CAN_CTRLMODE_LISTENONLY) |
596 | setbits8(®s->canctl1, MSCAN_LISTEN); | 590 | setbits8(®s->canctl1, MSCAN_LISTEN); |
597 | else | 591 | else |
@@ -606,7 +600,6 @@ static int mscan_open(struct net_device *dev) | |||
606 | return 0; | 600 | return 0; |
607 | 601 | ||
608 | exit_free_irq: | 602 | exit_free_irq: |
609 | priv->open_time = 0; | ||
610 | free_irq(dev->irq, dev); | 603 | free_irq(dev->irq, dev); |
611 | exit_napi_disable: | 604 | exit_napi_disable: |
612 | napi_disable(&priv->napi); | 605 | napi_disable(&priv->napi); |
@@ -627,7 +620,6 @@ static int mscan_close(struct net_device *dev) | |||
627 | mscan_set_mode(dev, MSCAN_INIT_MODE); | 620 | mscan_set_mode(dev, MSCAN_INIT_MODE); |
628 | close_candev(dev); | 621 | close_candev(dev); |
629 | free_irq(dev->irq, dev); | 622 | free_irq(dev->irq, dev); |
630 | priv->open_time = 0; | ||
631 | 623 | ||
632 | return 0; | 624 | return 0; |
633 | } | 625 | } |
diff --git a/drivers/net/can/mscan/mscan.h b/drivers/net/can/mscan/mscan.h index b43e9f5d3268..af2ed8baf0a3 100644 --- a/drivers/net/can/mscan/mscan.h +++ b/drivers/net/can/mscan/mscan.h | |||
@@ -281,7 +281,6 @@ struct tx_queue_entry { | |||
281 | struct mscan_priv { | 281 | struct mscan_priv { |
282 | struct can_priv can; /* must be the first member */ | 282 | struct can_priv can; /* must be the first member */ |
283 | unsigned int type; /* MSCAN type variants */ | 283 | unsigned int type; /* MSCAN type variants */ |
284 | long open_time; | ||
285 | unsigned long flags; | 284 | unsigned long flags; |
286 | void __iomem *reg_base; /* ioremap'ed address to registers */ | 285 | void __iomem *reg_base; /* ioremap'ed address to registers */ |
287 | u8 shadow_statflg; | 286 | u8 shadow_statflg; |
diff --git a/drivers/net/can/sja1000/sja1000.c b/drivers/net/can/sja1000/sja1000.c index 25011dbe1b96..83ee11eca0e2 100644 --- a/drivers/net/can/sja1000/sja1000.c +++ b/drivers/net/can/sja1000/sja1000.c | |||
@@ -188,11 +188,6 @@ static void sja1000_start(struct net_device *dev) | |||
188 | 188 | ||
189 | static int sja1000_set_mode(struct net_device *dev, enum can_mode mode) | 189 | static int sja1000_set_mode(struct net_device *dev, enum can_mode mode) |
190 | { | 190 | { |
191 | struct sja1000_priv *priv = netdev_priv(dev); | ||
192 | |||
193 | if (!priv->open_time) | ||
194 | return -EINVAL; | ||
195 | |||
196 | switch (mode) { | 191 | switch (mode) { |
197 | case CAN_MODE_START: | 192 | case CAN_MODE_START: |
198 | sja1000_start(dev); | 193 | sja1000_start(dev); |
@@ -579,7 +574,6 @@ static int sja1000_open(struct net_device *dev) | |||
579 | 574 | ||
580 | /* init and start chi */ | 575 | /* init and start chi */ |
581 | sja1000_start(dev); | 576 | sja1000_start(dev); |
582 | priv->open_time = jiffies; | ||
583 | 577 | ||
584 | netif_start_queue(dev); | 578 | netif_start_queue(dev); |
585 | 579 | ||
@@ -598,8 +592,6 @@ static int sja1000_close(struct net_device *dev) | |||
598 | 592 | ||
599 | close_candev(dev); | 593 | close_candev(dev); |
600 | 594 | ||
601 | priv->open_time = 0; | ||
602 | |||
603 | return 0; | 595 | return 0; |
604 | } | 596 | } |
605 | 597 | ||
diff --git a/drivers/net/can/sja1000/sja1000.h b/drivers/net/can/sja1000/sja1000.h index 23fff06875f5..afa99847a510 100644 --- a/drivers/net/can/sja1000/sja1000.h +++ b/drivers/net/can/sja1000/sja1000.h | |||
@@ -152,7 +152,6 @@ | |||
152 | */ | 152 | */ |
153 | struct sja1000_priv { | 153 | struct sja1000_priv { |
154 | struct can_priv can; /* must be the first member */ | 154 | struct can_priv can; /* must be the first member */ |
155 | int open_time; | ||
156 | struct sk_buff *echo_skb; | 155 | struct sk_buff *echo_skb; |
157 | 156 | ||
158 | /* the lower-layer is responsible for appropriate locking */ | 157 | /* the lower-layer is responsible for appropriate locking */ |
diff --git a/drivers/net/can/usb/ems_usb.c b/drivers/net/can/usb/ems_usb.c index 086fa321677a..c69f0b72b352 100644 --- a/drivers/net/can/usb/ems_usb.c +++ b/drivers/net/can/usb/ems_usb.c | |||
@@ -245,7 +245,6 @@ struct ems_tx_urb_context { | |||
245 | 245 | ||
246 | struct ems_usb { | 246 | struct ems_usb { |
247 | struct can_priv can; /* must be the first member */ | 247 | struct can_priv can; /* must be the first member */ |
248 | int open_time; | ||
249 | 248 | ||
250 | struct sk_buff *echo_skb[MAX_TX_URBS]; | 249 | struct sk_buff *echo_skb[MAX_TX_URBS]; |
251 | 250 | ||
@@ -728,7 +727,6 @@ static int ems_usb_open(struct net_device *netdev) | |||
728 | return err; | 727 | return err; |
729 | } | 728 | } |
730 | 729 | ||
731 | dev->open_time = jiffies; | ||
732 | 730 | ||
733 | netif_start_queue(netdev); | 731 | netif_start_queue(netdev); |
734 | 732 | ||
@@ -878,8 +876,6 @@ static int ems_usb_close(struct net_device *netdev) | |||
878 | 876 | ||
879 | close_candev(netdev); | 877 | close_candev(netdev); |
880 | 878 | ||
881 | dev->open_time = 0; | ||
882 | |||
883 | return 0; | 879 | return 0; |
884 | } | 880 | } |
885 | 881 | ||
@@ -905,9 +901,6 @@ static int ems_usb_set_mode(struct net_device *netdev, enum can_mode mode) | |||
905 | { | 901 | { |
906 | struct ems_usb *dev = netdev_priv(netdev); | 902 | struct ems_usb *dev = netdev_priv(netdev); |
907 | 903 | ||
908 | if (!dev->open_time) | ||
909 | return -EINVAL; | ||
910 | |||
911 | switch (mode) { | 904 | switch (mode) { |
912 | case CAN_MODE_START: | 905 | case CAN_MODE_START: |
913 | if (ems_usb_write_mode(dev, SJA1000_MOD_NORMAL)) | 906 | if (ems_usb_write_mode(dev, SJA1000_MOD_NORMAL)) |
diff --git a/drivers/net/can/usb/esd_usb2.c b/drivers/net/can/usb/esd_usb2.c index 124e0dd3490c..9b74d1e3ad44 100644 --- a/drivers/net/can/usb/esd_usb2.c +++ b/drivers/net/can/usb/esd_usb2.c | |||
@@ -217,7 +217,6 @@ struct esd_usb2_net_priv { | |||
217 | struct usb_anchor tx_submitted; | 217 | struct usb_anchor tx_submitted; |
218 | struct esd_tx_urb_context tx_contexts[MAX_TX_URBS]; | 218 | struct esd_tx_urb_context tx_contexts[MAX_TX_URBS]; |
219 | 219 | ||
220 | int open_time; | ||
221 | struct esd_usb2 *usb2; | 220 | struct esd_usb2 *usb2; |
222 | struct net_device *netdev; | 221 | struct net_device *netdev; |
223 | int index; | 222 | int index; |
@@ -695,8 +694,6 @@ static int esd_usb2_open(struct net_device *netdev) | |||
695 | return err; | 694 | return err; |
696 | } | 695 | } |
697 | 696 | ||
698 | priv->open_time = jiffies; | ||
699 | |||
700 | netif_start_queue(netdev); | 697 | netif_start_queue(netdev); |
701 | 698 | ||
702 | return 0; | 699 | return 0; |
@@ -864,8 +861,6 @@ static int esd_usb2_close(struct net_device *netdev) | |||
864 | 861 | ||
865 | close_candev(netdev); | 862 | close_candev(netdev); |
866 | 863 | ||
867 | priv->open_time = 0; | ||
868 | |||
869 | return 0; | 864 | return 0; |
870 | } | 865 | } |
871 | 866 | ||
@@ -941,11 +936,6 @@ static int esd_usb2_get_berr_counter(const struct net_device *netdev, | |||
941 | 936 | ||
942 | static int esd_usb2_set_mode(struct net_device *netdev, enum can_mode mode) | 937 | static int esd_usb2_set_mode(struct net_device *netdev, enum can_mode mode) |
943 | { | 938 | { |
944 | struct esd_usb2_net_priv *priv = netdev_priv(netdev); | ||
945 | |||
946 | if (!priv->open_time) | ||
947 | return -EINVAL; | ||
948 | |||
949 | switch (mode) { | 939 | switch (mode) { |
950 | case CAN_MODE_START: | 940 | case CAN_MODE_START: |
951 | netif_wake_queue(netdev); | 941 | netif_wake_queue(netdev); |
diff --git a/drivers/net/can/usb/peak_usb/pcan_usb_core.c b/drivers/net/can/usb/peak_usb/pcan_usb_core.c index c4643c400d46..d9290ea788e0 100644 --- a/drivers/net/can/usb/peak_usb/pcan_usb_core.c +++ b/drivers/net/can/usb/peak_usb/pcan_usb_core.c | |||
@@ -520,7 +520,6 @@ static int peak_usb_ndo_open(struct net_device *netdev) | |||
520 | return err; | 520 | return err; |
521 | } | 521 | } |
522 | 522 | ||
523 | dev->open_time = jiffies; | ||
524 | netif_start_queue(netdev); | 523 | netif_start_queue(netdev); |
525 | 524 | ||
526 | return 0; | 525 | return 0; |
@@ -576,7 +575,6 @@ static int peak_usb_ndo_stop(struct net_device *netdev) | |||
576 | 575 | ||
577 | close_candev(netdev); | 576 | close_candev(netdev); |
578 | 577 | ||
579 | dev->open_time = 0; | ||
580 | dev->can.state = CAN_STATE_STOPPED; | 578 | dev->can.state = CAN_STATE_STOPPED; |
581 | 579 | ||
582 | /* can set bus off now */ | 580 | /* can set bus off now */ |
@@ -661,9 +659,6 @@ static int peak_usb_set_mode(struct net_device *netdev, enum can_mode mode) | |||
661 | struct peak_usb_device *dev = netdev_priv(netdev); | 659 | struct peak_usb_device *dev = netdev_priv(netdev); |
662 | int err = 0; | 660 | int err = 0; |
663 | 661 | ||
664 | if (!dev->open_time) | ||
665 | return -EINVAL; | ||
666 | |||
667 | switch (mode) { | 662 | switch (mode) { |
668 | case CAN_MODE_START: | 663 | case CAN_MODE_START: |
669 | err = peak_usb_restart(dev); | 664 | err = peak_usb_restart(dev); |
diff --git a/drivers/net/can/usb/peak_usb/pcan_usb_core.h b/drivers/net/can/usb/peak_usb/pcan_usb_core.h index c8e5e91d7cb5..073b47ff8eee 100644 --- a/drivers/net/can/usb/peak_usb/pcan_usb_core.h +++ b/drivers/net/can/usb/peak_usb/pcan_usb_core.h | |||
@@ -104,7 +104,6 @@ struct peak_usb_device { | |||
104 | struct can_priv can; | 104 | struct can_priv can; |
105 | struct peak_usb_adapter *adapter; | 105 | struct peak_usb_adapter *adapter; |
106 | unsigned int ctrl_idx; | 106 | unsigned int ctrl_idx; |
107 | int open_time; | ||
108 | u32 state; | 107 | u32 state; |
109 | 108 | ||
110 | struct sk_buff *echo_skb[PCAN_USB_MAX_TX_URBS]; | 109 | struct sk_buff *echo_skb[PCAN_USB_MAX_TX_URBS]; |