shithub: riscv

Download patch

ref: 29865005f9c90b6addc423221afa421bf555c84e
parent: 499478eb621bf29975cb617a98ebbb3c1febea93
author: cinap_lenrek <[email protected]>
date: Sat Oct 20 15:29:18 EDT 2018

nusb/ether: tune buffer size parameters for SMSC ethernet (raspi) (thanks richard miller)

--- a/sys/src/cmd/nusb/ether/smsc.c
+++ b/sys/src/cmd/nusb/ether/smsc.c
@@ -14,10 +14,9 @@
 	Resettime	= 1000,
 	E2pbusytime	= 1000,
 	Afcdefault	= 0xF830A1,
-//	Hsburst		= 37,	/* from original linux driver */
-	Hsburst		= 8,
+	Hsburst		= 24,
 	Fsburst		= 129,
-	Defbulkdly	= 0x2000,
+	Defbulkdly	= 1000,
 
 	Ethp8021q	= 0x8100,
 	MACoffset 	= 1,
@@ -211,11 +210,9 @@
 	uint hd;
 	int n;
 
-	if(Doburst)
-		b = allocb(Hsburst*512);
-	else
-		b = allocb(Maxpkt+4);
-	if((n = read(ep->dfd, b->wp, b->lim - b->base)) < 0){
+	n = Doburst? Hsburst*512 : Maxpkt+4;
+	b = allocb(n);
+	if((n = read(ep->dfd, b->wp, n)) < 0){
 		freeb(b);
 		return -1;
 	}