From 14fb6ba189c6f2a062307c5a648c93df18792549 Mon Sep 17 00:00:00 2001 From: Michael Brown Date: Wed, 26 Sep 2007 17:58:51 +0100 Subject: [PATCH] Quick and very dirty hack to get r8169 driver working again, prior to any rewrite. --- src/drivers/net/r8169.c | 20 +++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/src/drivers/net/r8169.c b/src/drivers/net/r8169.c index 423d26c9..2651c4c2 100644 --- a/src/drivers/net/r8169.c +++ b/src/drivers/net/r8169.c @@ -48,6 +48,7 @@ #include "nic.h" #include #include +#include #include "timer.h" #define drv_version "v1.6" @@ -335,11 +336,11 @@ struct { unsigned char txb[NUM_TX_DESC * RX_BUF_SIZE]; struct RxDesc rx_ring[NUM_RX_DESC] __align_256; unsigned char rxb[NUM_RX_DESC * RX_BUF_SIZE]; -} r8169_bufs __shared; -#define tx_ring r8169_bufs.tx_ring -#define rx_ring r8169_bufs.rx_ring -#define txb r8169_bufs.txb -#define rxb r8169_bufs.rxb +} *r8169_bufs; +#define tx_ring r8169_bufs->tx_ring +#define rx_ring r8169_bufs->rx_ring +#define txb r8169_bufs->txb +#define rxb r8169_bufs->rxb static struct rtl8169_private { void *mmio_addr; /* memory map physical address */ @@ -881,6 +882,15 @@ static int r8169_probe ( struct nic *nic, struct pci_device *pci ) { printed_version = 1; + /* Quick and very dirty hack to get r8169 driver working + * again, pre-rewrite + */ + if ( ! r8169_bufs ) + r8169_bufs = malloc_dma ( sizeof ( *r8169_bufs ), 256 ); + if ( ! r8169_bufs ) + return 0; + memset ( r8169_bufs, 0, sizeof ( *r8169_bufs ) ); + /* point to private storage */ tpc = &tpx;