summaryrefslogtreecommitdiff
path: root/drivers/ne2000.c
diff options
context:
space:
mode:
authorJon Loeliger <jdl@freescale.com>2007-11-07 14:16:14 -0600
committerJon Loeliger <jdl@freescale.com>2007-11-07 14:16:14 -0600
commit59e7965922b683a5aca44ff294d95b206d5bc58a (patch)
treee8453252f9987f99deeb7d7b98b7b6d99b5433cf /drivers/ne2000.c
parent3cac27c1d40b151f295dcfdb514fa928732e4ecf (diff)
parent992742a5b09d9040adbd156fb90756af66ade310 (diff)
downloadu-boot-imx-59e7965922b683a5aca44ff294d95b206d5bc58a.zip
u-boot-imx-59e7965922b683a5aca44ff294d95b206d5bc58a.tar.gz
u-boot-imx-59e7965922b683a5aca44ff294d95b206d5bc58a.tar.bz2
Merge commit 'remotes/wd/master'
Diffstat (limited to 'drivers/ne2000.c')
-rw-r--r--drivers/ne2000.c21
1 files changed, 7 insertions, 14 deletions
diff --git a/drivers/ne2000.c b/drivers/ne2000.c
index 695a1dc..c978d62 100644
--- a/drivers/ne2000.c
+++ b/drivers/ne2000.c
@@ -723,7 +723,8 @@ static hw_info_t hw_info[] = {
{ /* SuperSocket RE450T */ 0x0110, 0x00, 0xe0, 0x98, 0 },
{ /* Volktek NPL-402CT */ 0x0060, 0x00, 0x40, 0x05, 0 },
{ /* NEC PC-9801N-J12 */ 0x0ff0, 0x00, 0x00, 0x4c, 0 },
- { /* PCMCIA Technology OEM */ 0x01c8, 0x00, 0xa0, 0x0c, 0 }
+ { /* PCMCIA Technology OEM */ 0x01c8, 0x00, 0xa0, 0x0c, 0 },
+ { /* Qemu */ 0x0, 0x52, 0x54, 0x00, 0 }
};
#define NR_INFO (sizeof(hw_info)/sizeof(hw_info_t))
@@ -824,30 +825,22 @@ static hw_info_t * get_prom(void ) {
/* U-boot specific routines */
-#define NB 5
static unsigned char *pbuf = NULL;
-static int plen[NB];
-static int nrx = 0;
static int pkey = -1;
static int initialized=0;
void uboot_push_packet_len(int len) {
- PRINTK("pushed len = %d, nrx = %d\n", len, nrx);
+ PRINTK("pushed len = %d\n", len);
if (len>=2000) {
printf("NE2000: packet too big\n");
return;
}
- if (nrx >= NB) {
- printf("losing packets in rx\n");
- return;
- }
- plen[nrx] = len;
- dp83902a_recv(&pbuf[nrx*2000], len);
+ dp83902a_recv(&pbuf[0], len);
/*Just pass it to the upper layer*/
- NetReceive(&pbuf[nrx*2000], plen[nrx]);
+ NetReceive(&pbuf[0], len);
}
void uboot_push_tx_done(int key, int val) {
@@ -862,9 +855,9 @@ int eth_init(bd_t *bd) {
PRINTK("### eth_init\n");
if (!pbuf) {
- pbuf = malloc(NB*2000);
+ pbuf = malloc(2000);
if (!pbuf) {
- printf("Cannot allocate rx buffers\n");
+ printf("Cannot allocate rx buffer\n");
return -1;
}
}