.. | .. |
---|
| 1 | +// SPDX-License-Identifier: GPL-2.0-only |
---|
1 | 2 | /* |
---|
2 | 3 | * Copyright (c) 1997-2000 LAN Media Corporation (LMC) |
---|
3 | 4 | * All rights reserved. www.lanmedia.com |
---|
.. | .. |
---|
13 | 14 | * David Boggs |
---|
14 | 15 | * Ron Crane |
---|
15 | 16 | * Alan Cox |
---|
16 | | - * |
---|
17 | | - * This software may be used and distributed according to the terms |
---|
18 | | - * of the GNU General Public License version 2, incorporated herein by reference. |
---|
19 | 17 | * |
---|
20 | 18 | * Driver for the LanMedia LMC5200, LMC5245, LMC1000, LMC1200 cards. |
---|
21 | 19 | * |
---|
.. | .. |
---|
34 | 32 | * we still have link, and that the timing source is what we expected |
---|
35 | 33 | * it to be. If link is lost, the interface is marked down, and |
---|
36 | 34 | * we no longer can transmit. |
---|
37 | | - * |
---|
38 | 35 | */ |
---|
39 | 36 | |
---|
40 | 37 | #include <linux/kernel.h> |
---|
.. | .. |
---|
102 | 99 | static void lmc_watchdog(struct timer_list *t); |
---|
103 | 100 | static void lmc_reset(lmc_softc_t * const sc); |
---|
104 | 101 | static void lmc_dec_reset(lmc_softc_t * const sc); |
---|
105 | | -static void lmc_driver_timeout(struct net_device *dev); |
---|
| 102 | +static void lmc_driver_timeout(struct net_device *dev, unsigned int txqueue); |
---|
106 | 103 | |
---|
107 | 104 | /* |
---|
108 | 105 | * linux reserves 16 device specific IOCTLs. We call them |
---|
.. | .. |
---|
115 | 112 | int ret = -EOPNOTSUPP; |
---|
116 | 113 | u16 regVal; |
---|
117 | 114 | unsigned long flags; |
---|
118 | | - |
---|
119 | | - lmc_trace(dev, "lmc_ioctl in"); |
---|
120 | 115 | |
---|
121 | 116 | /* |
---|
122 | 117 | * Most functions mess with the structure |
---|
.. | .. |
---|
622 | 617 | break; |
---|
623 | 618 | } |
---|
624 | 619 | |
---|
625 | | - lmc_trace(dev, "lmc_ioctl out"); |
---|
626 | | - |
---|
627 | 620 | return ret; |
---|
628 | 621 | } |
---|
629 | 622 | |
---|
.. | .. |
---|
636 | 629 | int link_status; |
---|
637 | 630 | u32 ticks; |
---|
638 | 631 | unsigned long flags; |
---|
639 | | - |
---|
640 | | - lmc_trace(dev, "lmc_watchdog in"); |
---|
641 | 632 | |
---|
642 | 633 | spin_lock_irqsave(&sc->lmc_lock, flags); |
---|
643 | 634 | |
---|
.. | .. |
---|
785 | 776 | add_timer (&sc->timer); |
---|
786 | 777 | |
---|
787 | 778 | spin_unlock_irqrestore(&sc->lmc_lock, flags); |
---|
788 | | - |
---|
789 | | - lmc_trace(dev, "lmc_watchdog out"); |
---|
790 | | - |
---|
791 | 779 | } |
---|
792 | 780 | |
---|
793 | 781 | static int lmc_attach(struct net_device *dev, unsigned short encoding, |
---|
.. | .. |
---|
815 | 803 | u16 AdapModelNum; |
---|
816 | 804 | int err; |
---|
817 | 805 | static int cards_found; |
---|
818 | | - |
---|
819 | | - /* lmc_trace(dev, "lmc_init_one in"); */ |
---|
820 | 806 | |
---|
821 | 807 | err = pcim_enable_device(pdev); |
---|
822 | 808 | if (err) { |
---|
.. | .. |
---|
960 | 946 | sc->lmc_ok = 0; |
---|
961 | 947 | sc->last_link_status = 0; |
---|
962 | 948 | |
---|
963 | | - lmc_trace(dev, "lmc_init_one out"); |
---|
964 | 949 | return 0; |
---|
965 | 950 | } |
---|
966 | 951 | |
---|
.. | .. |
---|
986 | 971 | lmc_softc_t *sc = dev_to_sc(dev); |
---|
987 | 972 | int err; |
---|
988 | 973 | |
---|
989 | | - lmc_trace(dev, "lmc_open in"); |
---|
990 | | - |
---|
991 | 974 | lmc_led_on(sc, LMC_DS3_LED0); |
---|
992 | 975 | |
---|
993 | 976 | lmc_dec_reset(sc); |
---|
.. | .. |
---|
997 | 980 | LMC_EVENT_LOG(LMC_EVENT_RESET2, lmc_mii_readreg(sc, 0, 16), |
---|
998 | 981 | lmc_mii_readreg(sc, 0, 17)); |
---|
999 | 982 | |
---|
1000 | | - if (sc->lmc_ok){ |
---|
1001 | | - lmc_trace(dev, "lmc_open lmc_ok out"); |
---|
| 983 | + if (sc->lmc_ok) |
---|
1002 | 984 | return 0; |
---|
1003 | | - } |
---|
1004 | 985 | |
---|
1005 | 986 | lmc_softreset (sc); |
---|
1006 | 987 | |
---|
1007 | 988 | /* Since we have to use PCI bus, this should work on x86,alpha,ppc */ |
---|
1008 | 989 | if (request_irq (dev->irq, lmc_interrupt, IRQF_SHARED, dev->name, dev)){ |
---|
1009 | 990 | printk(KERN_WARNING "%s: could not get irq: %d\n", dev->name, dev->irq); |
---|
1010 | | - lmc_trace(dev, "lmc_open irq failed out"); |
---|
1011 | 991 | return -EAGAIN; |
---|
1012 | 992 | } |
---|
1013 | 993 | sc->got_irq = 1; |
---|
.. | .. |
---|
1083 | 1063 | sc->timer.expires = jiffies + HZ; |
---|
1084 | 1064 | add_timer (&sc->timer); |
---|
1085 | 1065 | |
---|
1086 | | - lmc_trace(dev, "lmc_open out"); |
---|
1087 | | - |
---|
1088 | 1066 | return 0; |
---|
1089 | 1067 | } |
---|
1090 | 1068 | |
---|
.. | .. |
---|
1095 | 1073 | static void lmc_running_reset (struct net_device *dev) /*fold00*/ |
---|
1096 | 1074 | { |
---|
1097 | 1075 | lmc_softc_t *sc = dev_to_sc(dev); |
---|
1098 | | - |
---|
1099 | | - lmc_trace(dev, "lmc_running_reset in"); |
---|
1100 | 1076 | |
---|
1101 | 1077 | /* stop interrupts */ |
---|
1102 | 1078 | /* Clear the interrupt mask */ |
---|
.. | .. |
---|
1119 | 1095 | |
---|
1120 | 1096 | sc->lmc_cmdmode |= (TULIP_CMD_TXRUN | TULIP_CMD_RXRUN); |
---|
1121 | 1097 | LMC_CSR_WRITE (sc, csr_command, sc->lmc_cmdmode); |
---|
1122 | | - |
---|
1123 | | - lmc_trace(dev, "lmc_runnin_reset_out"); |
---|
1124 | 1098 | } |
---|
1125 | 1099 | |
---|
1126 | 1100 | |
---|
.. | .. |
---|
1133 | 1107 | /* not calling release_region() as we should */ |
---|
1134 | 1108 | lmc_softc_t *sc = dev_to_sc(dev); |
---|
1135 | 1109 | |
---|
1136 | | - lmc_trace(dev, "lmc_close in"); |
---|
1137 | | - |
---|
1138 | 1110 | sc->lmc_ok = 0; |
---|
1139 | 1111 | sc->lmc_media->set_link_status (sc, 0); |
---|
1140 | 1112 | del_timer (&sc->timer); |
---|
1141 | 1113 | lmc_proto_close(sc); |
---|
1142 | 1114 | lmc_ifdown (dev); |
---|
1143 | | - |
---|
1144 | | - lmc_trace(dev, "lmc_close out"); |
---|
1145 | 1115 | |
---|
1146 | 1116 | return 0; |
---|
1147 | 1117 | } |
---|
.. | .. |
---|
1153 | 1123 | lmc_softc_t *sc = dev_to_sc(dev); |
---|
1154 | 1124 | u32 csr6; |
---|
1155 | 1125 | int i; |
---|
1156 | | - |
---|
1157 | | - lmc_trace(dev, "lmc_ifdown in"); |
---|
1158 | 1126 | |
---|
1159 | 1127 | /* Don't let anything else go on right now */ |
---|
1160 | 1128 | // dev->start = 0; |
---|
.. | .. |
---|
1205 | 1173 | netif_wake_queue(dev); |
---|
1206 | 1174 | sc->extra_stats.tx_tbusy0++; |
---|
1207 | 1175 | |
---|
1208 | | - lmc_trace(dev, "lmc_ifdown out"); |
---|
1209 | | - |
---|
1210 | 1176 | return 0; |
---|
1211 | 1177 | } |
---|
1212 | 1178 | |
---|
.. | .. |
---|
1224 | 1190 | u32 firstcsr; |
---|
1225 | 1191 | int max_work = LMC_RXDESCS; |
---|
1226 | 1192 | int handled = 0; |
---|
1227 | | - |
---|
1228 | | - lmc_trace(dev, "lmc_interrupt in"); |
---|
1229 | 1193 | |
---|
1230 | 1194 | spin_lock(&sc->lmc_lock); |
---|
1231 | 1195 | |
---|
.. | .. |
---|
1269 | 1233 | lmc_running_reset (dev); |
---|
1270 | 1234 | break; |
---|
1271 | 1235 | } |
---|
1272 | | - |
---|
1273 | | - if (csr & TULIP_STS_RXINTR){ |
---|
1274 | | - lmc_trace(dev, "rx interrupt"); |
---|
| 1236 | + |
---|
| 1237 | + if (csr & TULIP_STS_RXINTR) |
---|
1275 | 1238 | lmc_rx (dev); |
---|
1276 | | - |
---|
1277 | | - } |
---|
| 1239 | + |
---|
1278 | 1240 | if (csr & (TULIP_STS_TXINTR | TULIP_STS_TXNOBUF | TULIP_STS_TXSTOPPED)) { |
---|
1279 | 1241 | |
---|
1280 | 1242 | int n_compl = 0 ; |
---|
.. | .. |
---|
1322 | 1284 | sc->lmc_device->stats.tx_packets++; |
---|
1323 | 1285 | } |
---|
1324 | 1286 | |
---|
1325 | | - // dev_kfree_skb(sc->lmc_txq[i]); |
---|
1326 | | - dev_kfree_skb_irq(sc->lmc_txq[i]); |
---|
| 1287 | + dev_consume_skb_irq(sc->lmc_txq[i]); |
---|
1327 | 1288 | sc->lmc_txq[i] = NULL; |
---|
1328 | 1289 | |
---|
1329 | 1290 | badtx++; |
---|
.. | .. |
---|
1395 | 1356 | |
---|
1396 | 1357 | spin_unlock(&sc->lmc_lock); |
---|
1397 | 1358 | |
---|
1398 | | - lmc_trace(dev, "lmc_interrupt out"); |
---|
1399 | 1359 | return IRQ_RETVAL(handled); |
---|
1400 | 1360 | } |
---|
1401 | 1361 | |
---|
.. | .. |
---|
1406 | 1366 | u32 flag; |
---|
1407 | 1367 | int entry; |
---|
1408 | 1368 | unsigned long flags; |
---|
1409 | | - |
---|
1410 | | - lmc_trace(dev, "lmc_start_xmit in"); |
---|
1411 | 1369 | |
---|
1412 | 1370 | spin_lock_irqsave(&sc->lmc_lock, flags); |
---|
1413 | 1371 | |
---|
.. | .. |
---|
1483 | 1441 | |
---|
1484 | 1442 | spin_unlock_irqrestore(&sc->lmc_lock, flags); |
---|
1485 | 1443 | |
---|
1486 | | - lmc_trace(dev, "lmc_start_xmit_out"); |
---|
1487 | 1444 | return NETDEV_TX_OK; |
---|
1488 | 1445 | } |
---|
1489 | 1446 | |
---|
.. | .. |
---|
1498 | 1455 | long stat; |
---|
1499 | 1456 | struct sk_buff *skb, *nsb; |
---|
1500 | 1457 | u16 len; |
---|
1501 | | - |
---|
1502 | | - lmc_trace(dev, "lmc_rx in"); |
---|
1503 | 1458 | |
---|
1504 | 1459 | lmc_led_on(sc, LMC_DS3_LED3); |
---|
1505 | 1460 | |
---|
.. | .. |
---|
1679 | 1634 | lmc_led_off(sc, LMC_DS3_LED3); |
---|
1680 | 1635 | |
---|
1681 | 1636 | skip_out_of_mem: |
---|
1682 | | - |
---|
1683 | | - lmc_trace(dev, "lmc_rx out"); |
---|
1684 | | - |
---|
1685 | 1637 | return 0; |
---|
1686 | 1638 | } |
---|
1687 | 1639 | |
---|
.. | .. |
---|
1690 | 1642 | lmc_softc_t *sc = dev_to_sc(dev); |
---|
1691 | 1643 | unsigned long flags; |
---|
1692 | 1644 | |
---|
1693 | | - lmc_trace(dev, "lmc_get_stats in"); |
---|
1694 | | - |
---|
1695 | 1645 | spin_lock_irqsave(&sc->lmc_lock, flags); |
---|
1696 | 1646 | |
---|
1697 | 1647 | sc->lmc_device->stats.rx_missed_errors += LMC_CSR_READ(sc, csr_missed_frames) & 0xffff; |
---|
1698 | 1648 | |
---|
1699 | 1649 | spin_unlock_irqrestore(&sc->lmc_lock, flags); |
---|
1700 | | - |
---|
1701 | | - lmc_trace(dev, "lmc_get_stats out"); |
---|
1702 | 1650 | |
---|
1703 | 1651 | return &sc->lmc_device->stats; |
---|
1704 | 1652 | } |
---|
.. | .. |
---|
1718 | 1666 | int command = (0xf6 << 10) | (devaddr << 5) | regno; |
---|
1719 | 1667 | int retval = 0; |
---|
1720 | 1668 | |
---|
1721 | | - lmc_trace(sc->lmc_device, "lmc_mii_readreg in"); |
---|
1722 | | - |
---|
1723 | 1669 | LMC_MII_SYNC (sc); |
---|
1724 | | - |
---|
1725 | | - lmc_trace(sc->lmc_device, "lmc_mii_readreg: done sync"); |
---|
1726 | 1670 | |
---|
1727 | 1671 | for (i = 15; i >= 0; i--) |
---|
1728 | 1672 | { |
---|
.. | .. |
---|
1736 | 1680 | /* __SLOW_DOWN_IO; */ |
---|
1737 | 1681 | } |
---|
1738 | 1682 | |
---|
1739 | | - lmc_trace(sc->lmc_device, "lmc_mii_readreg: done1"); |
---|
1740 | | - |
---|
1741 | 1683 | for (i = 19; i > 0; i--) |
---|
1742 | 1684 | { |
---|
1743 | 1685 | LMC_CSR_WRITE (sc, csr_9, 0x40000); |
---|
.. | .. |
---|
1749 | 1691 | /* __SLOW_DOWN_IO; */ |
---|
1750 | 1692 | } |
---|
1751 | 1693 | |
---|
1752 | | - lmc_trace(sc->lmc_device, "lmc_mii_readreg out"); |
---|
1753 | | - |
---|
1754 | 1694 | return (retval >> 1) & 0xffff; |
---|
1755 | 1695 | } |
---|
1756 | 1696 | |
---|
.. | .. |
---|
1758 | 1698 | { |
---|
1759 | 1699 | int i = 32; |
---|
1760 | 1700 | int command = (0x5002 << 16) | (devaddr << 23) | (regno << 18) | data; |
---|
1761 | | - |
---|
1762 | | - lmc_trace(sc->lmc_device, "lmc_mii_writereg in"); |
---|
1763 | 1701 | |
---|
1764 | 1702 | LMC_MII_SYNC (sc); |
---|
1765 | 1703 | |
---|
.. | .. |
---|
1793 | 1731 | /* __SLOW_DOWN_IO; */ |
---|
1794 | 1732 | i--; |
---|
1795 | 1733 | } |
---|
1796 | | - |
---|
1797 | | - lmc_trace(sc->lmc_device, "lmc_mii_writereg out"); |
---|
1798 | 1734 | } |
---|
1799 | 1735 | |
---|
1800 | 1736 | static void lmc_softreset (lmc_softc_t * const sc) /*fold00*/ |
---|
1801 | 1737 | { |
---|
1802 | 1738 | int i; |
---|
1803 | | - |
---|
1804 | | - lmc_trace(sc->lmc_device, "lmc_softreset in"); |
---|
1805 | 1739 | |
---|
1806 | 1740 | /* Initialize the receive rings and buffers. */ |
---|
1807 | 1741 | sc->lmc_txfull = 0; |
---|
.. | .. |
---|
1877 | 1811 | } |
---|
1878 | 1812 | sc->lmc_txring[i - 1].buffer2 = virt_to_bus (&sc->lmc_txring[0]); |
---|
1879 | 1813 | LMC_CSR_WRITE (sc, csr_txlist, virt_to_bus (sc->lmc_txring)); |
---|
1880 | | - |
---|
1881 | | - lmc_trace(sc->lmc_device, "lmc_softreset out"); |
---|
1882 | 1814 | } |
---|
1883 | 1815 | |
---|
1884 | 1816 | void lmc_gpio_mkinput(lmc_softc_t * const sc, u32 bits) /*fold00*/ |
---|
1885 | 1817 | { |
---|
1886 | | - lmc_trace(sc->lmc_device, "lmc_gpio_mkinput in"); |
---|
1887 | 1818 | sc->lmc_gpio_io &= ~bits; |
---|
1888 | 1819 | LMC_CSR_WRITE(sc, csr_gp, TULIP_GP_PINSET | (sc->lmc_gpio_io)); |
---|
1889 | | - lmc_trace(sc->lmc_device, "lmc_gpio_mkinput out"); |
---|
1890 | 1820 | } |
---|
1891 | 1821 | |
---|
1892 | 1822 | void lmc_gpio_mkoutput(lmc_softc_t * const sc, u32 bits) /*fold00*/ |
---|
1893 | 1823 | { |
---|
1894 | | - lmc_trace(sc->lmc_device, "lmc_gpio_mkoutput in"); |
---|
1895 | 1824 | sc->lmc_gpio_io |= bits; |
---|
1896 | 1825 | LMC_CSR_WRITE(sc, csr_gp, TULIP_GP_PINSET | (sc->lmc_gpio_io)); |
---|
1897 | | - lmc_trace(sc->lmc_device, "lmc_gpio_mkoutput out"); |
---|
1898 | 1826 | } |
---|
1899 | 1827 | |
---|
1900 | 1828 | void lmc_led_on(lmc_softc_t * const sc, u32 led) /*fold00*/ |
---|
1901 | 1829 | { |
---|
1902 | | - lmc_trace(sc->lmc_device, "lmc_led_on in"); |
---|
1903 | | - if((~sc->lmc_miireg16) & led){ /* Already on! */ |
---|
1904 | | - lmc_trace(sc->lmc_device, "lmc_led_on aon out"); |
---|
| 1830 | + if ((~sc->lmc_miireg16) & led) /* Already on! */ |
---|
1905 | 1831 | return; |
---|
1906 | | - } |
---|
1907 | | - |
---|
| 1832 | + |
---|
1908 | 1833 | sc->lmc_miireg16 &= ~led; |
---|
1909 | 1834 | lmc_mii_writereg(sc, 0, 16, sc->lmc_miireg16); |
---|
1910 | | - lmc_trace(sc->lmc_device, "lmc_led_on out"); |
---|
1911 | 1835 | } |
---|
1912 | 1836 | |
---|
1913 | 1837 | void lmc_led_off(lmc_softc_t * const sc, u32 led) /*fold00*/ |
---|
1914 | 1838 | { |
---|
1915 | | - lmc_trace(sc->lmc_device, "lmc_led_off in"); |
---|
1916 | | - if(sc->lmc_miireg16 & led){ /* Already set don't do anything */ |
---|
1917 | | - lmc_trace(sc->lmc_device, "lmc_led_off aoff out"); |
---|
| 1839 | + if (sc->lmc_miireg16 & led) /* Already set don't do anything */ |
---|
1918 | 1840 | return; |
---|
1919 | | - } |
---|
1920 | | - |
---|
| 1841 | + |
---|
1921 | 1842 | sc->lmc_miireg16 |= led; |
---|
1922 | 1843 | lmc_mii_writereg(sc, 0, 16, sc->lmc_miireg16); |
---|
1923 | | - lmc_trace(sc->lmc_device, "lmc_led_off out"); |
---|
1924 | 1844 | } |
---|
1925 | 1845 | |
---|
1926 | 1846 | static void lmc_reset(lmc_softc_t * const sc) /*fold00*/ |
---|
1927 | 1847 | { |
---|
1928 | | - lmc_trace(sc->lmc_device, "lmc_reset in"); |
---|
1929 | 1848 | sc->lmc_miireg16 |= LMC_MII16_FIFO_RESET; |
---|
1930 | 1849 | lmc_mii_writereg(sc, 0, 16, sc->lmc_miireg16); |
---|
1931 | 1850 | |
---|
.. | .. |
---|
1961 | 1880 | sc->lmc_media->init(sc); |
---|
1962 | 1881 | |
---|
1963 | 1882 | sc->extra_stats.resetCount++; |
---|
1964 | | - lmc_trace(sc->lmc_device, "lmc_reset out"); |
---|
1965 | 1883 | } |
---|
1966 | 1884 | |
---|
1967 | 1885 | static void lmc_dec_reset(lmc_softc_t * const sc) /*fold00*/ |
---|
1968 | 1886 | { |
---|
1969 | 1887 | u32 val; |
---|
1970 | | - lmc_trace(sc->lmc_device, "lmc_dec_reset in"); |
---|
1971 | 1888 | |
---|
1972 | 1889 | /* |
---|
1973 | 1890 | * disable all interrupts |
---|
.. | .. |
---|
2023 | 1940 | val = LMC_CSR_READ(sc, csr_sia_general); |
---|
2024 | 1941 | val |= (TULIP_WATCHDOG_TXDISABLE | TULIP_WATCHDOG_RXDISABLE); |
---|
2025 | 1942 | LMC_CSR_WRITE(sc, csr_sia_general, val); |
---|
2026 | | - |
---|
2027 | | - lmc_trace(sc->lmc_device, "lmc_dec_reset out"); |
---|
2028 | 1943 | } |
---|
2029 | 1944 | |
---|
2030 | 1945 | static void lmc_initcsrs(lmc_softc_t * const sc, lmc_csrptr_t csr_base, /*fold00*/ |
---|
2031 | 1946 | size_t csr_size) |
---|
2032 | 1947 | { |
---|
2033 | | - lmc_trace(sc->lmc_device, "lmc_initcsrs in"); |
---|
2034 | 1948 | sc->lmc_csrs.csr_busmode = csr_base + 0 * csr_size; |
---|
2035 | 1949 | sc->lmc_csrs.csr_txpoll = csr_base + 1 * csr_size; |
---|
2036 | 1950 | sc->lmc_csrs.csr_rxpoll = csr_base + 2 * csr_size; |
---|
.. | .. |
---|
2047 | 1961 | sc->lmc_csrs.csr_13 = csr_base + 13 * csr_size; |
---|
2048 | 1962 | sc->lmc_csrs.csr_14 = csr_base + 14 * csr_size; |
---|
2049 | 1963 | sc->lmc_csrs.csr_15 = csr_base + 15 * csr_size; |
---|
2050 | | - lmc_trace(sc->lmc_device, "lmc_initcsrs out"); |
---|
2051 | 1964 | } |
---|
2052 | 1965 | |
---|
2053 | | -static void lmc_driver_timeout(struct net_device *dev) |
---|
| 1966 | +static void lmc_driver_timeout(struct net_device *dev, unsigned int txqueue) |
---|
2054 | 1967 | { |
---|
2055 | 1968 | lmc_softc_t *sc = dev_to_sc(dev); |
---|
2056 | 1969 | u32 csr6; |
---|
2057 | 1970 | unsigned long flags; |
---|
2058 | | - |
---|
2059 | | - lmc_trace(dev, "lmc_driver_timeout in"); |
---|
2060 | 1971 | |
---|
2061 | 1972 | spin_lock_irqsave(&sc->lmc_lock, flags); |
---|
2062 | 1973 | |
---|
.. | .. |
---|
2069 | 1980 | /* |
---|
2070 | 1981 | * Chip seems to have locked up |
---|
2071 | 1982 | * Reset it |
---|
2072 | | - * This whips out all our decriptor |
---|
| 1983 | + * This whips out all our descriptor |
---|
2073 | 1984 | * table and starts from scartch |
---|
2074 | 1985 | */ |
---|
2075 | 1986 | |
---|
.. | .. |
---|
2100 | 2011 | bug_out: |
---|
2101 | 2012 | |
---|
2102 | 2013 | spin_unlock_irqrestore(&sc->lmc_lock, flags); |
---|
2103 | | - |
---|
2104 | | - lmc_trace(dev, "lmc_driver_timeout out"); |
---|
2105 | | - |
---|
2106 | | - |
---|
2107 | 2014 | } |
---|