Index: uspace/srv/hw/netif/dp8390/dp8390.c
===================================================================
--- uspace/srv/hw/netif/dp8390/dp8390.c	(revision 37f0a2922d68d05398f1e81f4691c64308e722a7)
+++ uspace/srv/hw/netif/dp8390/dp8390.c	(revision b18753674db821b4aff9829ab475b50332403b40)
@@ -143,16 +143,6 @@
 int do_pwrite(dpeth_t *dep, packet_t *packet, int from_int)
 {
-//	int port, count, size;
 	int size;
 	int sendq_head;
-/*	dpeth_t *dep;
-	
-	port = mp->DL_PORT;
-	count = mp->DL_COUNT;
-	if (port < 0 || port >= DE_PORT_NR)
-		fprintf(stderr, "dp8390: illegal port\n");
-	dep= &de_table[port];
-	dep->de_client= mp->DL_PROC;
-*/
 	
 	assert(dep->de_mode == DEM_ENABLED);
@@ -165,34 +155,14 @@
 	}
 	
-	sendq_head= dep->de_sendq_head;
-//	if (dep->de_sendq[sendq_head].sq_filled) {
-//		if (from_int)
-//			fprintf(stderr, "dp8390: should not be sending\n");
-//		dep->de_sendmsg= *mp;
+	sendq_head = dep->de_sendq_head;
+	if (dep->de_sendq[sendq_head].sq_filled) {
+		if (from_int)
+			fprintf(stderr, "dp8390: should not be sending\n");
 //		dep->de_flags |= DEF_SEND_AVAIL;
-//		return;
-//		return queue_packet(dep, packet);
-//	}
+		return queue_packet(dep, packet);
+	}
+	
 //	assert(!(dep->de_flags &DEF_PACK_SEND));
 	
-/*	if (vectored) {
-		get_userdata(mp->DL_PROC, (vir_bytes) mp->DL_ADDR,
-			(count > IOVEC_NR ? IOVEC_NR : count) *
-			sizeof(iovec_t), dep->de_write_iovec.iod_iovec);
-		dep->de_write_iovec.iod_iovec_s = count;
-		dep->de_write_iovec.iod_iovec_addr = (vir_bytes) mp->DL_ADDR;
-		
-		dep->de_tmp_iovec = dep->de_write_iovec;
-		size = calc_iovec_size(&dep->de_tmp_iovec);
-	} else {
-		dep->de_write_iovec.iod_iovec[0].iov_addr =
-			(vir_bytes) mp->DL_ADDR;
-		dep->de_write_iovec.iod_iovec[0].iov_size =
-			mp->DL_COUNT;
-		dep->de_write_iovec.iod_iovec_s = 1;
-		dep->de_write_iovec.iod_iovec_addr = 0;
-		size= mp->DL_COUNT;
-	}
-*/
 	void *buf = packet_get_data(packet);
 	size = packet_get_data_length(packet);
@@ -216,5 +186,5 @@
 	
 	if (++sendq_head == dep->de_sendq_nr)
-		sendq_head= 0;
+		sendq_head = 0;
 	
 	assert(sendq_head < SENDQ_NR);
@@ -586,20 +556,4 @@
 //	if (!dep->packet_queue)
 //		dep->de_flags &= ~DEF_SEND_AVAIL;
-	
-/*	switch (dep->de_sendmsg.m_type) {
-	case DL_WRITE:
-		do_vwrite(&dep->de_sendmsg, true, false);
-		break;
-	case DL_WRITEV:
-		do_vwrite(&dep->de_sendmsg, true, true);
-		break;
-	case DL_WRITEV_S:
-		do_vwrite_s(&dep->de_sendmsg, true);
-		break;
-	default:
-		fprintf(stderr, "dp8390: wrong type\n");
-		break;
-	}
-*/
 }
 
Index: uspace/srv/hw/netif/dp8390/dp8390.h
===================================================================
--- uspace/srv/hw/netif/dp8390/dp8390.h	(revision 37f0a2922d68d05398f1e81f4691c64308e722a7)
+++ uspace/srv/hw/netif/dp8390/dp8390.h	(revision b18753674db821b4aff9829ab475b50332403b40)
@@ -18,42 +18,36 @@
 /* National Semiconductor DP8390 Network Interface Controller. */
 
-				/* Page 0, for reading ------------- */
-#define	DP_CR		0x0	/* Read side of Command Register     */
-#define	DP_CLDA0	0x1	/* Current Local Dma Address 0       */
-#define	DP_CLDA1	0x2	/* Current Local Dma Address 1       */
-#define	DP_BNRY		0x3	/* Boundary Pointer                  */
-#define	DP_TSR		0x4	/* Transmit Status Register          */
-#define	DP_NCR		0x5	/* Number of Collisions Register     */
-#define	DP_FIFO		0x6	/* Fifo ??                           */
-#define	DP_ISR		0x7	/* Interrupt Status Register         */
-#define	DP_CRDA0	0x8	/* Current Remote Dma Address 0      */
-#define	DP_CRDA1	0x9	/* Current Remote Dma Address 1      */
-#define	DP_DUM1		0xA	/* unused                            */
-#define	DP_DUM2		0xB	/* unused                            */
-#define	DP_RSR		0xC	/* Receive Status Register           */
-#define	DP_CNTR0	0xD	/* Tally Counter 0                   */
-#define	DP_CNTR1	0xE	/* Tally Counter 1                   */
-#define	DP_CNTR2	0xF	/* Tally Counter 2                   */
-
-				/* Page 0, for writing ------------- */
-#define	DP_CR		0x0	/* Write side of Command Register    */
-#define	DP_PSTART	0x1	/* Page Start Register               */
-#define	DP_PSTOP	0x2	/* Page Stop Register                */
-#define	DP_BNRY		0x3	/* Boundary Pointer                  */
-#define	DP_TPSR		0x4	/* Transmit Page Start Register      */
-#define	DP_TBCR0	0x5	/* Transmit Byte Count Register 0    */
-#define	DP_TBCR1	0x6	/* Transmit Byte Count Register 1    */
-#define	DP_ISR		0x7	/* Interrupt Status Register         */
-#define	DP_RSAR0	0x8	/* Remote Start Address Register 0   */
-#define	DP_RSAR1	0x9	/* Remote Start Address Register 1   */
-#define	DP_RBCR0	0xA	/* Remote Byte Count Register 0      */
-#define	DP_RBCR1	0xB	/* Remote Byte Count Register 1      */
-#define	DP_RCR		0xC	/* Receive Configuration Register    */
-#define	DP_TCR		0xD	/* Transmit Configuration Register   */
-#define	DP_DCR		0xE	/* Data Configuration Register       */
-#define	DP_IMR		0xF	/* Interrupt Mask Register           */
-
-				/* Page 1, read/write -------------- */
-#define	DP_CR		0x0	/* Command Register                  */
+/** Page 0, for reading */
+#define DP_CR     0x00  /**< Command Register */
+#define DP_CLDA0  0x01  /**< Current Local DMA Address 0 */
+#define DP_CLDA1  0x02  /**< Current Local DMA Address 1 */
+#define DP_BNRY   0x03  /**< Boundary Pointer */
+#define DP_TSR    0x04  /**< Transmit Status Register */
+#define DP_NCR    0x05  /**< Number of Collisions Register */
+#define DP_FIFO   0x06  /**< FIFO */
+#define DP_ISR    0x07  /**< Interrupt Status Register */
+#define DP_CRDA0  0x08  /**< Current Remote DMA Address 0 */
+#define DP_CRDA1  0x09  /**< Current Remote DMA Address 1 */
+#define DP_RSR    0x0c  /**< Receive Status Register */
+#define DP_CNTR0  0x0d  /**< Tally Counter 0 */
+#define DP_CNTR1  0x0e  /**< Tally Counter 1 */
+#define DP_CNTR2  0x0f  /**< Tally Counter 2 */
+
+/** Page 0, for writing */
+#define DP_PSTART  0x01  /**< Page Start Register*/
+#define DP_PSTOP   0x02  /**< Page Stop Register */
+#define DP_TPSR    0x04  /**< Transmit Page Start Register */
+#define DP_TBCR0   0x05  /**< Transmit Byte Count Register 0 */
+#define DP_TBCR1   0x06  /**< Transmit Byte Count Register 1 */
+#define DP_RSAR0   0x08  /**< Remote Start Address Register 0 */
+#define DP_RSAR1   0x09  /**< Remote Start Address Register 1 */
+#define DP_RBCR0   0x0a  /**< Remote Byte Count Register 0 */
+#define DP_RBCR1   0x0b  /**< Remote Byte Count Register 1 */
+#define DP_RCR     0x0c  /**< Receive Configuration Register */
+#define DP_TCR     0x0d  /**< Transmit Configuration Register */
+#define DP_DCR     0x0e  /**< Data Configuration Register */
+#define DP_IMR     0x0f  /**< Interrupt Mask Register */
+
+/** Page 1, read/write */
 #define	DP_PAR0		0x1	/* Physical Address Register 0       */
 #define	DP_PAR1		0x2	/* Physical Address Register 1       */
@@ -184,5 +178,5 @@
 #define DP_PAGESIZE  256
 
-/** Reads 1 byte from the zero page register.
+/** Read 1 byte from the zero page register.
  *  @param[in] dep The network interface structure.
  *  @param[in] reg The register offset.
@@ -191,5 +185,5 @@
 #define inb_reg0(dep, reg)  (inb(dep->de_dp8390_port + reg))
 
-/** Writes 1 byte zero page register.
+/** Write 1 byte zero page register.
  *  @param[in] dep The network interface structure.
  *  @param[in] reg The register offset.
@@ -198,5 +192,5 @@
 #define outb_reg0(dep, reg, data)  (outb(dep->de_dp8390_port + reg, data))
 
-/** Reads 1 byte from the first page register.
+/** Read 1 byte from the first page register.
  *  @param[in] dep The network interface structure.
  *  @param[in] reg The register offset.
@@ -205,5 +199,5 @@
 #define inb_reg1(dep, reg)  (inb(dep->de_dp8390_port + reg))
 
-/** Writes 1 byte first page register.
+/** Write 1 byte first page register.
  *  @param[in] dep The network interface structure.
  *  @param[in] reg The register offset.
@@ -222,10 +216,10 @@
 typedef void (*dp_getblock_t)(struct dpeth *dep, int page, size_t offset, size_t size, void *dst);
 
-#define SENDQ_NR     1  /* Maximum size of the send queue */
+#define SENDQ_NR     2  /* Maximum size of the send queue */
 #define SENDQ_PAGES  6  /* 6 * DP_PAGESIZE >= 1514 bytes */
 
 /** Maximum number of waiting packets to be sent or received.
  */
-#define MAX_PACKETS  4
+#define MAX_PACKETS  1024
 
 typedef struct dpeth {
@@ -291,6 +285,4 @@
 } dpeth_t;
 
-#define DEI_DEFAULT  0x8000
-
 #define DEF_EMPTY       0x000
 #define DEF_PACK_SEND   0x001
Index: uspace/srv/hw/netif/dp8390/ne2000.c
===================================================================
--- uspace/srv/hw/netif/dp8390/ne2000.c	(revision 37f0a2922d68d05398f1e81f4691c64308e722a7)
+++ uspace/srv/hw/netif/dp8390/ne2000.c	(revision b18753674db821b4aff9829ab475b50332403b40)
@@ -167,7 +167,4 @@
 	dep->de_stoppage = dep->de_offset_page + dep->de_ramsize / DP_PAGESIZE;
 	
-	/* Can't override the default IRQ. */
-	dep->de_irq &= ~DEI_DEFAULT;
-	
 	printf("%s: Novell NE%d000 ethernet card at I/O address "
 	    "%#lx, memory size %#lx, irq %d\n",
