summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--debian/changelog3
-rw-r--r--debian/patches/80_rtl8139_open.patch33
2 files changed, 36 insertions, 0 deletions
diff --git a/debian/changelog b/debian/changelog
index 252a1e2..10b3aeb 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -18,6 +18,9 @@ gnumach (2:1.3.99.dfsg.cvs20070809-2) UNRELEASED; urgency=low
* New patch from CVS to fix direction flag on syscall entry.
(Closes: #469566)
- debian/patches/70_cld.patch
+ * New patch from CVS to fix initialization of RTL8139.
+ (Closes: #469566)
+ - debian/patches/80_rtl8139_open.patch
[ Guillem Jover ]
* Add Homepage field.
diff --git a/debian/patches/80_rtl8139_open.patch b/debian/patches/80_rtl8139_open.patch
new file mode 100644
index 0000000..f4b9376
--- /dev/null
+++ b/debian/patches/80_rtl8139_open.patch
@@ -0,0 +1,33 @@
+Fix 8138 initialization division by zero.
+
+Index: linux/src/drivers/net/rtl8139.c
+===================================================================
+RCS file: /cvsroot/hurd/gnumach/linux/src/drivers/net/Attic/rtl8139.c,v
+retrieving revision 1.2.4.2
+retrieving revision 1.2.4.1
+diff -u -p -r1.2.4.2 -r1.2.4.1
+--- linux/src/drivers/net/rtl8139.c 4 Jul 2008 10:04:17 -0000 1.2.4.2
++++ linux/src/drivers/net/rtl8139.c 22 Jan 2006 15:54:41 -0000 1.2.4.1
+@@ -705,6 +705,10 @@ static int rtl8129_open(struct net_devic
+ int rx_buf_len_idx;
+
+ MOD_INC_USE_COUNT;
++ if (request_irq(dev->irq, &rtl8129_interrupt, SA_SHIRQ, dev->name, dev)) {
++ MOD_DEC_USE_COUNT;
++ return -EAGAIN;
++ }
+
+ /* The Rx ring allocation size is 2^N + delta, which is worst-case for
+ the kernel binary-buddy allocation. We allocate the Tx bounce buffers
+@@ -733,11 +737,6 @@ static int rtl8129_open(struct net_devic
+ tp->rx_config =
+ (RX_FIFO_THRESH << 13) | (rx_buf_len_idx << 11) | (RX_DMA_BURST<<8);
+
+- if (request_irq(dev->irq, &rtl8129_interrupt, SA_SHIRQ, dev->name, dev)) {
+- MOD_DEC_USE_COUNT;
+- return -EAGAIN;
+- }
+-
+ rtl_hw_start(dev);
+ netif_start_tx_queue(dev);
+