···156156157157#define DRV_NAME "e100"158158#define DRV_EXT "-NAPI"159159-#define DRV_VERSION "3.4.14-k2"DRV_EXT159159+#define DRV_VERSION "3.4.14-k4"DRV_EXT160160#define DRV_DESCRIPTION "Intel(R) PRO/100 Network Driver"161161#define DRV_COPYRIGHT "Copyright(c) 1999-2005 Intel Corporation"162162#define PFX DRV_NAME ": "···903903904904static void e100_get_defaults(struct nic *nic)905905{906906- struct param_range rfds = { .min = 16, .max = 256, .count = 64 };907907- struct param_range cbs = { .min = 64, .max = 256, .count = 64 };906906+ struct param_range rfds = { .min = 16, .max = 256, .count = 256 };907907+ struct param_range cbs = { .min = 64, .max = 256, .count = 128 };908908909909 pci_read_config_byte(nic->pdev, PCI_REVISION_ID, &nic->rev_id);910910 /* MAC type is encoded as rev ID; exception: ICH is treated as 82559 */···10071007 c[16], c[17], c[18], c[19], c[20], c[21], c[22], c[23]);10081008}1009100910101010+/********************************************************/10111011+/* Micro code for 8086:1229 Rev 8 */10121012+/********************************************************/10131013+10141014+/* Parameter values for the D101M B-step */10151015+#define D101M_CPUSAVER_TIMER_DWORD 7810161016+#define D101M_CPUSAVER_BUNDLE_DWORD 6510171017+#define D101M_CPUSAVER_MIN_SIZE_DWORD 12610181018+10191019+#define D101M_B_RCVBUNDLE_UCODE \10201020+{\10211021+0x00550215, 0xFFFF0437, 0xFFFFFFFF, 0x06A70789, 0xFFFFFFFF, 0x0558FFFF, \10221022+0x000C0001, 0x00101312, 0x000C0008, 0x00380216, \10231023+0x0010009C, 0x00204056, 0x002380CC, 0x00380056, \10241024+0x0010009C, 0x00244C0B, 0x00000800, 0x00124818, \10251025+0x00380438, 0x00000000, 0x00140000, 0x00380555, \10261026+0x00308000, 0x00100662, 0x00100561, 0x000E0408, \10271027+0x00134861, 0x000C0002, 0x00103093, 0x00308000, \10281028+0x00100624, 0x00100561, 0x000E0408, 0x00100861, \10291029+0x000C007E, 0x00222C21, 0x000C0002, 0x00103093, \10301030+0x00380C7A, 0x00080000, 0x00103090, 0x00380C7A, \10311031+0x00000000, 0x00000000, 0x00000000, 0x00000000, \10321032+0x0010009C, 0x00244C2D, 0x00010004, 0x00041000, \10331033+0x003A0437, 0x00044010, 0x0038078A, 0x00000000, \10341034+0x00100099, 0x00206C7A, 0x0010009C, 0x00244C48, \10351035+0x00130824, 0x000C0001, 0x00101213, 0x00260C75, \10361036+0x00041000, 0x00010004, 0x00130826, 0x000C0006, \10371037+0x002206A8, 0x0013C926, 0x00101313, 0x003806A8, \10381038+0x00000000, 0x00000000, 0x00000000, 0x00000000, \10391039+0x00000000, 0x00000000, 0x00000000, 0x00000000, \10401040+0x00080600, 0x00101B10, 0x00050004, 0x00100826, \10411041+0x00101210, 0x00380C34, 0x00000000, 0x00000000, \10421042+0x0021155B, 0x00100099, 0x00206559, 0x0010009C, \10431043+0x00244559, 0x00130836, 0x000C0000, 0x00220C62, \10441044+0x000C0001, 0x00101B13, 0x00229C0E, 0x00210C0E, \10451045+0x00226C0E, 0x00216C0E, 0x0022FC0E, 0x00215C0E, \10461046+0x00214C0E, 0x00380555, 0x00010004, 0x00041000, \10471047+0x00278C67, 0x00040800, 0x00018100, 0x003A0437, \10481048+0x00130826, 0x000C0001, 0x00220559, 0x00101313, \10491049+0x00380559, 0x00000000, 0x00000000, 0x00000000, \10501050+0x00000000, 0x00000000, 0x00000000, 0x00000000, \10511051+0x00000000, 0x00130831, 0x0010090B, 0x00124813, \10521052+0x000CFF80, 0x002606AB, 0x00041000, 0x00010004, \10531053+0x003806A8, 0x00000000, 0x00000000, 0x00000000, \10541054+}10551055+10561056+/********************************************************/10571057+/* Micro code for 8086:1229 Rev 9 */10581058+/********************************************************/10591059+10601060+/* Parameter values for the D101S */10611061+#define D101S_CPUSAVER_TIMER_DWORD 7810621062+#define D101S_CPUSAVER_BUNDLE_DWORD 6710631063+#define D101S_CPUSAVER_MIN_SIZE_DWORD 12810641064+10651065+#define D101S_RCVBUNDLE_UCODE \10661066+{\10671067+0x00550242, 0xFFFF047E, 0xFFFFFFFF, 0x06FF0818, 0xFFFFFFFF, 0x05A6FFFF, \10681068+0x000C0001, 0x00101312, 0x000C0008, 0x00380243, \10691069+0x0010009C, 0x00204056, 0x002380D0, 0x00380056, \10701070+0x0010009C, 0x00244F8B, 0x00000800, 0x00124818, \10711071+0x0038047F, 0x00000000, 0x00140000, 0x003805A3, \10721072+0x00308000, 0x00100610, 0x00100561, 0x000E0408, \10731073+0x00134861, 0x000C0002, 0x00103093, 0x00308000, \10741074+0x00100624, 0x00100561, 0x000E0408, 0x00100861, \10751075+0x000C007E, 0x00222FA1, 0x000C0002, 0x00103093, \10761076+0x00380F90, 0x00080000, 0x00103090, 0x00380F90, \10771077+0x00000000, 0x00000000, 0x00000000, 0x00000000, \10781078+0x0010009C, 0x00244FAD, 0x00010004, 0x00041000, \10791079+0x003A047E, 0x00044010, 0x00380819, 0x00000000, \10801080+0x00100099, 0x00206FFD, 0x0010009A, 0x0020AFFD, \10811081+0x0010009C, 0x00244FC8, 0x00130824, 0x000C0001, \10821082+0x00101213, 0x00260FF7, 0x00041000, 0x00010004, \10831083+0x00130826, 0x000C0006, 0x00220700, 0x0013C926, \10841084+0x00101313, 0x00380700, 0x00000000, 0x00000000, \10851085+0x00000000, 0x00000000, 0x00000000, 0x00000000, \10861086+0x00080600, 0x00101B10, 0x00050004, 0x00100826, \10871087+0x00101210, 0x00380FB6, 0x00000000, 0x00000000, \10881088+0x002115A9, 0x00100099, 0x002065A7, 0x0010009A, \10891089+0x0020A5A7, 0x0010009C, 0x002445A7, 0x00130836, \10901090+0x000C0000, 0x00220FE4, 0x000C0001, 0x00101B13, \10911091+0x00229F8E, 0x00210F8E, 0x00226F8E, 0x00216F8E, \10921092+0x0022FF8E, 0x00215F8E, 0x00214F8E, 0x003805A3, \10931093+0x00010004, 0x00041000, 0x00278FE9, 0x00040800, \10941094+0x00018100, 0x003A047E, 0x00130826, 0x000C0001, \10951095+0x002205A7, 0x00101313, 0x003805A7, 0x00000000, \10961096+0x00000000, 0x00000000, 0x00000000, 0x00000000, \10971097+0x00000000, 0x00000000, 0x00000000, 0x00130831, \10981098+0x0010090B, 0x00124813, 0x000CFF80, 0x00260703, \10991099+0x00041000, 0x00010004, 0x00380700 \11001100+}11011101+11021102+/********************************************************/11031103+/* Micro code for the 8086:1229 Rev F/10 */11041104+/********************************************************/11051105+11061106+/* Parameter values for the D102 E-step */11071107+#define D102_E_CPUSAVER_TIMER_DWORD 4211081108+#define D102_E_CPUSAVER_BUNDLE_DWORD 5411091109+#define D102_E_CPUSAVER_MIN_SIZE_DWORD 4611101110+11111111+#define D102_E_RCVBUNDLE_UCODE \11121112+{\11131113+0x007D028F, 0x0E4204F9, 0x14ED0C85, 0x14FA14E9, 0x0EF70E36, 0x1FFF1FFF, \11141114+0x00E014B9, 0x00000000, 0x00000000, 0x00000000, \11151115+0x00E014BD, 0x00000000, 0x00000000, 0x00000000, \11161116+0x00E014D5, 0x00000000, 0x00000000, 0x00000000, \11171117+0x00000000, 0x00000000, 0x00000000, 0x00000000, \11181118+0x00E014C1, 0x00000000, 0x00000000, 0x00000000, \11191119+0x00000000, 0x00000000, 0x00000000, 0x00000000, \11201120+0x00000000, 0x00000000, 0x00000000, 0x00000000, \11211121+0x00000000, 0x00000000, 0x00000000, 0x00000000, \11221122+0x00E014C8, 0x00000000, 0x00000000, 0x00000000, \11231123+0x00200600, 0x00E014EE, 0x00000000, 0x00000000, \11241124+0x0030FF80, 0x00940E46, 0x00038200, 0x00102000, \11251125+0x00E00E43, 0x00000000, 0x00000000, 0x00000000, \11261126+0x00300006, 0x00E014FB, 0x00000000, 0x00000000, \11271127+0x00000000, 0x00000000, 0x00000000, 0x00000000, \11281128+0x00000000, 0x00000000, 0x00000000, 0x00000000, \11291129+0x00000000, 0x00000000, 0x00000000, 0x00000000, \11301130+0x00906E41, 0x00800E3C, 0x00E00E39, 0x00000000, \11311131+0x00906EFD, 0x00900EFD, 0x00E00EF8, 0x00000000, \11321132+0x00000000, 0x00000000, 0x00000000, 0x00000000, \11331133+0x00000000, 0x00000000, 0x00000000, 0x00000000, \11341134+0x00000000, 0x00000000, 0x00000000, 0x00000000, \11351135+0x00000000, 0x00000000, 0x00000000, 0x00000000, \11361136+0x00000000, 0x00000000, 0x00000000, 0x00000000, \11371137+0x00000000, 0x00000000, 0x00000000, 0x00000000, \11381138+0x00000000, 0x00000000, 0x00000000, 0x00000000, \11391139+0x00000000, 0x00000000, 0x00000000, 0x00000000, \11401140+0x00000000, 0x00000000, 0x00000000, 0x00000000, \11411141+0x00000000, 0x00000000, 0x00000000, 0x00000000, \11421142+0x00000000, 0x00000000, 0x00000000, 0x00000000, \11431143+0x00000000, 0x00000000, 0x00000000, 0x00000000, \11441144+0x00000000, 0x00000000, 0x00000000, 0x00000000, \11451145+0x00000000, 0x00000000, 0x00000000, 0x00000000, \11461146+}11471147+10101148static void e100_load_ucode(struct nic *nic, struct cb *cb, struct sk_buff *skb)10111149{10121012- int i;10131013- static const u32 ucode[UCODE_SIZE] = {10141014- /* NFS packets are misinterpreted as TCO packets and10151015- * incorrectly routed to the BMC over SMBus. This10161016- * microcode patch checks the fragmented IP bit in the10171017- * NFS/UDP header to distinguish between NFS and TCO. */10181018- 0x0EF70E36, 0x1FFF1FFF, 0x1FFF1FFF, 0x1FFF1FFF, 0x1FFF1FFF,10191019- 0x1FFF1FFF, 0x00906E41, 0x00800E3C, 0x00E00E39, 0x00000000,10201020- 0x00906EFD, 0x00900EFD, 0x00E00EF8,10211021- };11501150+/* *INDENT-OFF* */11511151+ static struct {11521152+ u32 ucode[UCODE_SIZE + 1];11531153+ u8 mac;11541154+ u8 timer_dword;11551155+ u8 bundle_dword;11561156+ u8 min_size_dword;11571157+ } ucode_opts[] = {11581158+ { D101M_B_RCVBUNDLE_UCODE,11591159+ mac_82559_D101M,11601160+ D101M_CPUSAVER_TIMER_DWORD,11611161+ D101M_CPUSAVER_BUNDLE_DWORD,11621162+ D101M_CPUSAVER_MIN_SIZE_DWORD },11631163+ { D101S_RCVBUNDLE_UCODE,11641164+ mac_82559_D101S,11651165+ D101S_CPUSAVER_TIMER_DWORD,11661166+ D101S_CPUSAVER_BUNDLE_DWORD,11671167+ D101S_CPUSAVER_MIN_SIZE_DWORD },11681168+ { D102_E_RCVBUNDLE_UCODE,11691169+ mac_82551_F,11701170+ D102_E_CPUSAVER_TIMER_DWORD,11711171+ D102_E_CPUSAVER_BUNDLE_DWORD,11721172+ D102_E_CPUSAVER_MIN_SIZE_DWORD },11731173+ { D102_E_RCVBUNDLE_UCODE,11741174+ mac_82551_10,11751175+ D102_E_CPUSAVER_TIMER_DWORD,11761176+ D102_E_CPUSAVER_BUNDLE_DWORD,11771177+ D102_E_CPUSAVER_MIN_SIZE_DWORD },11781178+ { {0}, 0, 0, 0, 0}11791179+ }, *opts;11801180+/* *INDENT-ON* */1022118110231023- if(nic->mac == mac_82551_F || nic->mac == mac_82551_10) {10241024- for(i = 0; i < UCODE_SIZE; i++)11821182+/*************************************************************************11831183+* CPUSaver parameters11841184+*11851185+* All CPUSaver parameters are 16-bit literals that are part of a11861186+* "move immediate value" instruction. By changing the value of11871187+* the literal in the instruction before the code is loaded, the11881188+* driver can change the algorithm.11891189+*11901190+* INTDELAY - This loads the dead-man timer with its inital value.11911191+* When this timer expires the interrupt is asserted, and the 11921192+* timer is reset each time a new packet is received. (see11931193+* BUNDLEMAX below to set the limit on number of chained packets)11941194+* The current default is 0x600 or 1536. Experiments show that11951195+* the value should probably stay within the 0x200 - 0x1000.11961196+*11971197+* BUNDLEMAX - 11981198+* This sets the maximum number of frames that will be bundled. In11991199+* some situations, such as the TCP windowing algorithm, it may be12001200+* better to limit the growth of the bundle size than let it go as12011201+* high as it can, because that could cause too much added latency.12021202+* The default is six, because this is the number of packets in the12031203+* default TCP window size. A value of 1 would make CPUSaver indicate12041204+* an interrupt for every frame received. If you do not want to put12051205+* a limit on the bundle size, set this value to xFFFF.12061206+*12071207+* BUNDLESMALL - 12081208+* This contains a bit-mask describing the minimum size frame that12091209+* will be bundled. The default masks the lower 7 bits, which means12101210+* that any frame less than 128 bytes in length will not be bundled,12111211+* but will instead immediately generate an interrupt. This does12121212+* not affect the current bundle in any way. Any frame that is 12812131213+* bytes or large will be bundled normally. This feature is meant12141214+* to provide immediate indication of ACK frames in a TCP environment.12151215+* Customers were seeing poor performance when a machine with CPUSaver12161216+* enabled was sending but not receiving. The delay introduced when12171217+* the ACKs were received was enough to reduce total throughput, because12181218+* the sender would sit idle until the ACK was finally seen.12191219+*12201220+* The current default is 0xFF80, which masks out the lower 7 bits.12211221+* This means that any frame which is x7F (127) bytes or smaller12221222+* will cause an immediate interrupt. Because this value must be a 12231223+* bit mask, there are only a few valid values that can be used. To12241224+* turn this feature off, the driver can write the value xFFFF to the12251225+* lower word of this instruction (in the same way that the other12261226+* parameters are used). Likewise, a value of 0xF800 (2047) would12271227+* cause an interrupt to be generated for every frame, because all12281228+* standard Ethernet frames are <= 2047 bytes in length.12291229+*************************************************************************/12301230+12311231+/* if you wish to disable the ucode functionality, while maintaining the 12321232+ * workarounds it provides, set the following defines to:12331233+ * BUNDLESMALL 012341234+ * BUNDLEMAX 112351235+ * INTDELAY 112361236+ */12371237+#define BUNDLESMALL 112381238+#define BUNDLEMAX (u16)612391239+#define INTDELAY (u16)1536 /* 0x600 */12401240+12411241+ /* do not load u-code for ICH devices */12421242+ if (nic->flags & ich)12431243+ goto noloaducode;12441244+12451245+ /* Search for ucode match against h/w rev_id */12461246+ for (opts = ucode_opts; opts->mac; opts++) {12471247+ int i;12481248+ u32 *ucode = opts->ucode;12491249+ if (nic->mac != opts->mac)12501250+ continue;12511251+12521252+ /* Insert user-tunable settings */12531253+ ucode[opts->timer_dword] &= 0xFFFF0000;12541254+ ucode[opts->timer_dword] |= INTDELAY;12551255+ ucode[opts->bundle_dword] &= 0xFFFF0000;12561256+ ucode[opts->bundle_dword] |= BUNDLEMAX;12571257+ ucode[opts->min_size_dword] &= 0xFFFF0000;12581258+ ucode[opts->min_size_dword] |= (BUNDLESMALL) ? 0xFFFF : 0xFF80;12591259+12601260+ for (i = 0; i < UCODE_SIZE; i++)10251261 cb->u.ucode[i] = cpu_to_le32(ucode[i]);10261262 cb->command = cpu_to_le16(cb_ucode);10271027- } else10281028- cb->command = cpu_to_le16(cb_nop);12631263+ return;12641264+ }12651265+12661266+noloaducode:12671267+ cb->command = cpu_to_le16(cb_nop);10291268}1030126910311270static void e100_setup_iaaddr(struct nic *nic, struct cb *cb,
+1-1
drivers/net/fec_8xx/Kconfig
···11config FEC_8XX22 tristate "Motorola 8xx FEC driver"33- depends on NET_ETHERNET && FEC33+ depends on NET_ETHERNET && 8xx44 select MII5566config FEC_8XX_GENERIC_PHY
···13461346 } else {13471347 if (netif_msg_probe(tp)) {13481348 printk(KERN_ERR PFX13491349- "Cannot find PowerManagement capability. "13501350- "Aborting.\n");13491349+ "PowerManagement capability not found.\n");13511350 }13521352- goto err_out_mwi;13531351 }1354135213551353 /* make sure PCI base addr 1 is MMIO */···25142516 } while (boguscnt > 0);2515251725162518 if (boguscnt <= 0) {25172517- if (net_ratelimit() && netif_msg_intr(tp)) {25192519+ if (netif_msg_intr(tp) && net_ratelimit() ) {25182520 printk(KERN_WARNING25192521 "%s: Too much work at interrupt!\n", dev->name);25202522 }
+25-11
drivers/net/saa9730.h
···11/*22- * Carsten Langgaard, carstenl@mips.com33- * Copyright (C) 2000 MIPS Technologies, Inc. All rights reserved.22+ * Copyright (C) 2000, 2005 MIPS Technologies, Inc. All rights reserved.33+ * Authors: Carsten Langgaard <carstenl@mips.com>44+ * Maciej W. Rozycki <macro@mips.com>45 *56 * ########################################################################67 *···266265267266/* The SAA9730 (LAN) controller register map, as seen via the PCI-bus. */268267#define SAA9730_LAN_REGS_ADDR 0x20400268268+#define SAA9730_LAN_REGS_SIZE 0x00400269269270270struct lan_saa9730_regmap {271271 volatile unsigned int TxBuffA; /* 0x20400 */···311309312310/* The SAA9730 (EVM) controller register map, as seen via the PCI-bus. */313311#define SAA9730_EVM_REGS_ADDR 0x02000312312+#define SAA9730_EVM_REGS_SIZE 0x00400314313315314struct evm_saa9730_regmap {316315 volatile unsigned int InterruptStatus1; /* 0x2000 */···332329333330334331struct lan_saa9730_private {332332+ /*333333+ * Rx/Tx packet buffers.334334+ * The Rx and Tx packets must be PACKET_SIZE aligned.335335+ */336336+ void *buffer_start;337337+ unsigned int buffer_size;338338+339339+ /*340340+ * DMA address of beginning of this object, returned341341+ * by pci_alloc_consistent().342342+ */343343+ dma_addr_t dma_addr;344344+345345+ /* Pointer to the associated pci device structure */346346+ struct pci_dev *pci_dev;347347+335348 /* Pointer for the SAA9730 LAN controller register set. */336349 t_lan_saa9730_regmap *lan_saa9730_regs;337350338351 /* Pointer to the SAA9730 EVM register. */339352 t_evm_saa9730_regmap *evm_saa9730_regs;340353341341- /* TRUE if the next buffer to write is RxBuffA, FALSE if RxBuffB. */342342- unsigned char NextRcvToUseIsA;343354 /* Rcv buffer Index. */344355 unsigned char NextRcvPacketIndex;356356+ /* Next buffer index. */357357+ unsigned char NextRcvBufferIndex;345358346359 /* Index of next packet to use in that buffer. */347360 unsigned char NextTxmPacketIndex;···372353 unsigned char DmaRcvPackets;373354 unsigned char DmaTxmPackets;374355375375- unsigned char RcvAIndex; /* index into RcvBufferSpace[] for Blk A */376376- unsigned char RcvBIndex; /* index into RcvBufferSpace[] for Blk B */377377-378378- unsigned int379379- TxmBuffer[LAN_SAA9730_BUFFERS][LAN_SAA9730_TXM_Q_SIZE];380380- unsigned int381381- RcvBuffer[LAN_SAA9730_BUFFERS][LAN_SAA9730_RCV_Q_SIZE];356356+ void *TxmBuffer[LAN_SAA9730_BUFFERS][LAN_SAA9730_TXM_Q_SIZE];357357+ void *RcvBuffer[LAN_SAA9730_BUFFERS][LAN_SAA9730_RCV_Q_SIZE];382358 unsigned int TxBufferFree[LAN_SAA9730_BUFFERS];383359384360 unsigned char PhysicalAddress[LAN_SAA9730_CAM_ENTRIES][6];
+13-4
drivers/net/smc91x.c
···155155#define MEMORY_WAIT_TIME 16156156157157/*158158+ * The maximum number of processing loops allowed for each call to the159159+ * IRQ handler. 160160+ */161161+#define MAX_IRQ_LOOPS 8162162+163163+/*158164 * This selects whether TX packets are sent one by one to the SMC91x internal159165 * memory and throttled until transmission completes. This may prevent160166 * RX overruns a litle by keeping much of the memory free for RX packets···690684691685 /* queue the packet for TX */692686 SMC_SET_MMU_CMD(MC_ENQUEUE);693693- SMC_ACK_INT(IM_TX_EMPTY_INT);694687 smc_special_unlock(&lp->lock);695688696689 dev->trans_start = jiffies;···12121207 smc_phy_check_media(dev, 1);1213120812141209smc_phy_configure_exit:12101210+ SMC_SELECT_BANK(2);12151211 spin_unlock_irq(&lp->lock);12161212 lp->work_pending = 0;12171213}···13111305 SMC_SET_INT_MASK(0);1312130613131307 /* set a timeout value, so I don't stay here forever */13141314- timeout = 8;13081308+ timeout = MAX_IRQ_LOOPS;1315130913161310 do {13171311 status = SMC_GET_INT();···13781372 /* restore register states */13791373 SMC_SET_PTR(saved_pointer);13801374 SMC_SET_INT_MASK(mask);13811381-13821375 spin_unlock(&lp->lock);1383137613841384- DBG(3, "%s: Interrupt done (%d loops)\n", dev->name, 8-timeout);13771377+ if (timeout == MAX_IRQ_LOOPS)13781378+ PRINTK("%s: spurious interrupt (mask = 0x%02x)\n",13791379+ dev->name, mask);13801380+ DBG(3, "%s: Interrupt done (%d loops)\n",13811381+ dev->name, MAX_IRQ_LOOPS - timeout);1385138213861383 /*13871384 * We return IRQ_HANDLED unconditionally here even if there was
···545545546546 hdlc->state.fr.reliable = reliable;547547 if (reliable) {548548+#if 0548549 if (!netif_carrier_ok(dev))549550 netif_carrier_on(dev);551551+#endif550552551553 hdlc->state.fr.n391cnt = 0; /* Request full status */552554 hdlc->state.fr.dce_changed = 1;···562560 }563561 }564562 } else {563563+#if 0565564 if (netif_carrier_ok(dev))566565 netif_carrier_off(dev);566566+#endif567567568568 while (pvc) { /* Deactivate all PVCs */569569 pvc_carrier(0, pvc);
+6
drivers/net/wan/hdlc_generic.c
···7979 hdlc_device *hdlc = dev_to_hdlc(dev);8080 if (hdlc->proto.start)8181 return hdlc->proto.start(dev);8282+#if 08283#ifdef DEBUG_LINK8384 if (netif_carrier_ok(dev))8485 printk(KERN_ERR "hdlc_set_carrier_on(): already on\n");8586#endif8687 netif_carrier_on(dev);8888+#endif8789}88908991···9694 if (hdlc->proto.stop)9795 return hdlc->proto.stop(dev);98969797+#if 09998#ifdef DEBUG_LINK10099 if (!netif_carrier_ok(dev))101100 printk(KERN_ERR "hdlc_set_carrier_off(): already off\n");102101#endif103102 netif_carrier_off(dev);103103+#endif104104}105105106106···298294 if (result != 0)299295 return -EIO;300296297297+#if 0301298 if (netif_carrier_ok(dev))302299 netif_carrier_off(dev); /* no carrier until DCD goes up */300300+#endif303301304302 return 0;305303}
+3-3
drivers/net/wireless/hermes.c
···398398 *399399 * Returns: < 0 on internal failure (errno), 0 on success, > 0 on error from firmware400400 */401401-int hermes_bap_pread(hermes_t *hw, int bap, void *buf, unsigned len,401401+int hermes_bap_pread(hermes_t *hw, int bap, void *buf, int len,402402 u16 id, u16 offset)403403{404404 int dreg = bap ? HERMES_DATA1 : HERMES_DATA0;···424424 *425425 * Returns: < 0 on internal failure (errno), 0 on success, > 0 on error from firmware426426 */427427-int hermes_bap_pwrite(hermes_t *hw, int bap, const void *buf, unsigned len,427427+int hermes_bap_pwrite(hermes_t *hw, int bap, const void *buf, int len,428428 u16 id, u16 offset)429429{430430 int dreg = bap ? HERMES_DATA1 : HERMES_DATA0;···450450 *451451 * Returns: < 0 on internal failure (errno), 0 on success, > 0 on error from firmware452452 */453453-int hermes_bap_pwrite_pad(hermes_t *hw, int bap, const void *buf, unsigned data_len, unsigned len,453453+int hermes_bap_pwrite_pad(hermes_t *hw, int bap, const void *buf, unsigned data_len, int len,454454 u16 id, u16 offset)455455{456456 int dreg = bap ? HERMES_DATA1 : HERMES_DATA0;
+3-3
drivers/net/wireless/hermes.h
···372372 struct hermes_response *resp);373373int hermes_allocate(hermes_t *hw, u16 size, u16 *fid);374374375375-int hermes_bap_pread(hermes_t *hw, int bap, void *buf, unsigned len,375375+int hermes_bap_pread(hermes_t *hw, int bap, void *buf, int len,376376 u16 id, u16 offset);377377-int hermes_bap_pwrite(hermes_t *hw, int bap, const void *buf, unsigned len,377377+int hermes_bap_pwrite(hermes_t *hw, int bap, const void *buf, int len,378378 u16 id, u16 offset);379379int hermes_bap_pwrite_pad(hermes_t *hw, int bap, const void *buf,380380- unsigned data_len, unsigned len, u16 id, u16 offset);380380+ unsigned data_len, int len, u16 id, u16 offset);381381int hermes_read_ltv(hermes_t *hw, int bap, u16 rid, unsigned buflen,382382 u16 *length, void *buf);383383int hermes_write_ltv(hermes_t *hw, int bap, u16 rid,
+8-3
drivers/net/wireless/i82593.h
···77 *88 * Copyright 1994, Anders Klemets <klemets@it.kth.se>99 *1010- * This software may be freely distributed for noncommercial purposes1111- * as long as this notice is retained.1212- * 1310 * HISTORY1411 * i82593.h,v1212+ * Revision 1.4 2005/11/4 09:15:00 baroniunas1313+ * Modified copyright with permission of author as follows:1414+ *1515+ * "If I82539.H is the only file with my copyright statement1616+ * that is included in the Source Forge project, then you have1717+ * my approval to change the copyright statement to be a GPL1818+ * license, in the way you proposed on October 10."1919+ *1520 * Revision 1.1 1996/07/17 15:23:12 root1621 * Initial revision1722 *