# HG changeset patch # User Rob Landley # Date 1245630470 18000 # Node ID 89d64cd65563fe506a9a4c6b4b714249a9ccdfa7 # Parent 25adf2fe1f86e37c0f2788a43c9fbefba1193b4e Update kernel to 2.6.30. diff -r 25adf2fe1f86 -r 89d64cd65563 download.sh --- a/download.sh Sun Jun 21 19:04:51 2009 -0500 +++ b/download.sh Sun Jun 21 19:27:50 2009 -0500 @@ -27,8 +27,8 @@ # Building a cross compile toolchain requires linux headers, uClibc, # binutils, and gcc. -URL=http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.29.tar.bz2 \ -SHA1=0640a2f4bea3fc272541f322b74ea365ad7f2349 \ +URL=http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.30.tar.bz2 \ +SHA1=5fb7f2ccdc59c57887d586971a157bee7af324d1 \ UNSTABLE=http://kernel.org/pub/linux/kernel/v2.6/testing/linux-2.6.30-rc7.tar.bz2 \ download || dienow diff -r 25adf2fe1f86 -r 89d64cd65563 sources/patches/linux-2.6.28-boot-raw.patch --- a/sources/patches/linux-2.6.28-boot-raw.patch Sun Jun 21 19:04:51 2009 -0500 +++ b/sources/patches/linux-2.6.28-boot-raw.patch Sun Jun 21 19:27:50 2009 -0500 @@ -30,4 +30,4 @@ + endmenu - config RWSEM_GENERIC_SPINLOCK + config LOCKDEP_SUPPORT diff -r 25adf2fe1f86 -r 89d64cd65563 sources/patches/linux-2.6.29-napi.patch --- a/sources/patches/linux-2.6.29-napi.patch Sun Jun 21 19:04:51 2009 -0500 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,44 +0,0 @@ -net: Fix netpoll lockup in legacy receive path - -When I fixed the GRO crash in the legacy receive path I used -napi_complete to replace __napi_complete. Unfortunately they're -not the same when NETPOLL is enabled, which may result in us -not calling __napi_complete at all. - -What's more, we really do need to keep the __napi_complete call -within the IRQ-off section since in theory an IRQ can occur in -between and fill up the backlog to the maximum, causing us to -lock up. - -This patch fixes this by essentially open-coding __napi_complete. - -Note we no longer need the memory barrier because this function -is per-cpu. - -Signed-off-by: Herbert Xu - -diff --git a/net/core/dev.c b/net/core/dev.c -index e3fe5c7..2a7f6b3 100644 ---- a/net/core/dev.c -+++ b/net/core/dev.c -@@ -2588,9 +2588,10 @@ static int process_backlog(struct napi_struct *napi, int quota) - local_irq_disable(); - skb = __skb_dequeue(&queue->input_pkt_queue); - if (!skb) { -+ list_del(&napi->poll_list); -+ clear_bit(NAPI_STATE_SCHED, &napi->state); - local_irq_enable(); -- napi_complete(napi); -- goto out; -+ break; - } - local_irq_enable(); - -@@ -2599,7 +2600,6 @@ static int process_backlog(struct napi_struct *napi, int quota) - - napi_gro_flush(napi); - --out: - return work; - } -