diff options
Diffstat (limited to 'debian/patches/11_nic_update.patch')
-rw-r--r-- | debian/patches/11_nic_update.patch | 32 |
1 files changed, 17 insertions, 15 deletions
diff --git a/debian/patches/11_nic_update.patch b/debian/patches/11_nic_update.patch index ef3bd56..fada77f 100644 --- a/debian/patches/11_nic_update.patch +++ b/debian/patches/11_nic_update.patch @@ -14889,10 +14889,10 @@ diff -u -r1.1 ne2k-pci.c +#include <linux/config.h> +#if defined(CONFIG_SMP) && ! defined(__SMP__) +#define __SMP__ - #endif ++#endif +#if defined(MODULE) && defined(CONFIG_MODVERSIONS) && ! defined(MODVERSIONS) +#define MODVERSIONS -+#endif + #endif + +#include <linux/version.h> #include <linux/module.h> @@ -14942,10 +14942,10 @@ diff -u -r1.1 ne2k-pci.c #endif -/* Use 32 bit data-movement operations instead of 16 bit. */ -#define USE_LONGIO - +- -/* Do we implement the read before write bugfix ? */ -/* #define NE_RW_BUGFIX */ -- + -/* Do we have a non std. amount of memory? (in units of 256 byte pages) */ -/* #define PACKETBUF_MEMSIZE 0x40 */ +static void *ne2k_pci_probe1(struct pci_dev *pdev, void *dev, @@ -15483,7 +15483,7 @@ diff -u -r1.1 ne2k-pci.c outb(E8390_NODMA+E8390_PAGE0+E8390_START, nic_base+ NE_CMD); outb(count & 0xff, nic_base + EN0_RCNTLO); outb(count >> 8, nic_base + EN0_RCNTHI); -@@ -537,44 +537,47 @@ +@@ -537,31 +537,28 @@ outb(ring_offset >> 8, nic_base + EN0_RSARHI); outb(E8390_RREAD+E8390_START, nic_base + NE_CMD); @@ -15492,7 +15492,10 @@ diff -u -r1.1 ne2k-pci.c - if (count & 3) { - buf += count & ~3; - if (count & 2) -- *((u16*)buf)++ = inw(NE_BASE + NE_DATAPORT); +- { +- *buf = *(u16 *) buf + 1; +- *buf = inw(NE_BASE + NE_DATAPORT); +- } - if (count & 1) - *buf = inb(NE_BASE + NE_DATAPORT); - } @@ -15521,15 +15524,13 @@ diff -u -r1.1 ne2k-pci.c ei_status.dmaing &= ~0x01; } --static void + static void -ne_block_output(struct device *dev, int count, -- const unsigned char *buf, const int start_page) -+static void ne2k_pci_block_output(struct net_device *dev, int count, -+ const unsigned char *buf, -+ const int start_page) ++ne2k_pci_block_output(struct net_device *dev, int count, + const unsigned char *buf, const int start_page) { int nic_base = NE_BASE; - unsigned long dma_start; +@@ -569,15 +566,18 @@ /* On little-endian it's always safe to round the count up for word writes. */ @@ -15552,7 +15553,7 @@ diff -u -r1.1 ne2k-pci.c return; } ei_status.dmaing |= 0x01; -@@ -600,23 +603,23 @@ +@@ -603,24 +603,23 @@ outb(0x00, nic_base + EN0_RSARLO); outb(start_page, nic_base + EN0_RSARHI); outb(E8390_RWRITE+E8390_START, nic_base + NE_CMD); @@ -15561,7 +15562,8 @@ diff -u -r1.1 ne2k-pci.c - if (count & 3) { - buf += count & ~3; - if (count & 2) -- outw(*((u16*)buf)++, NE_BASE + NE_DATAPORT); +- outw(*buf++, NE_BASE + NE_DATAPORT); +- + if (ei_status.ne2k_flags & ONLY_16BIT_IO) { + outsw(NE_BASE + NE_DATAPORT, buf, count>>1); + } else { @@ -15586,7 +15588,7 @@ diff -u -r1.1 ne2k-pci.c LNS8390_init(dev,1); break; } -@@ -629,8 +632,8 @@ +@@ -633,8 +632,8 @@ /* * Local variables: |