diff options
author | Graeme Gregory <dp@xora.org.uk> | 2007-07-07 12:17:00 +0000 |
---|---|---|
committer | Graeme Gregory <dp@xora.org.uk> | 2007-07-07 12:17:00 +0000 |
commit | 9745007f912d14529fa9a7ef1e763faca5dd4995 (patch) | |
tree | 0464919fb9172a7ca962a72cb68491ae60199348 /packages | |
parent | 1d662a16914582e72b023f683d9f7da414e4205a (diff) |
linux-rp_2.6.21.bb : add a hack to prevent connect+ card from oopsing
on insert. This is caused by an irq arriving before dev->base_addr
has been set so the driver ends up doing an inw(NULL) which oopses.
have checked for base_addr == 0 in driver and returned from irq early. This
prevents oops and doesnt break with other cards in my collection.
Diffstat (limited to 'packages')
-rw-r--r-- | packages/linux/linux-rp-2.6.21/connectplus-prevent-oops-HACK.patch | 17 | ||||
-rw-r--r-- | packages/linux/linux-rp_2.6.21.bb | 3 |
2 files changed, 19 insertions, 1 deletions
diff --git a/packages/linux/linux-rp-2.6.21/connectplus-prevent-oops-HACK.patch b/packages/linux/linux-rp-2.6.21/connectplus-prevent-oops-HACK.patch new file mode 100644 index 0000000000..b5439c62e7 --- /dev/null +++ b/packages/linux/linux-rp-2.6.21/connectplus-prevent-oops-HACK.patch @@ -0,0 +1,17 @@ +Index: linux-2.6.21/drivers/net/wireless/hostap/hostap_hw.c +=================================================================== +--- linux-2.6.21.orig/drivers/net/wireless/hostap/hostap_hw.c 2007-07-07 12:45:39.000000000 +0100 ++++ linux-2.6.21/drivers/net/wireless/hostap/hostap_hw.c 2007-07-07 12:47:30.000000000 +0100 +@@ -2666,6 +2666,12 @@ + iface = netdev_priv(dev); + local = iface->local; + ++ if(dev->base_addr == 0) ++ { ++ printk(KERN_DEBUG "%s: IRQ before base_addr set\n", dev->name); ++ return IRQ_HANDLED; ++ } ++ + prism2_io_debug_add(dev, PRISM2_IO_DEBUG_CMD_INTERRUPT, 0, 0); + + if (local->func->card_present && !local->func->card_present(local)) { diff --git a/packages/linux/linux-rp_2.6.21.bb b/packages/linux/linux-rp_2.6.21.bb index 5c3b5e3a28..980732d409 100644 --- a/packages/linux/linux-rp_2.6.21.bb +++ b/packages/linux/linux-rp_2.6.21.bb @@ -1,6 +1,6 @@ require linux-rp.inc -PR = "r8" +PR = "r9" # Handy URLs # git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git;protocol=git;tag=ef7d1b244fa6c94fb76d5f787b8629df64ea4046 @@ -49,6 +49,7 @@ SRC_URI = "http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.21.tar.bz2 \ ${RPSRC}/pxa_cf_initorder_hack-r1.patch;patch=1;status=hack \ file://pxa-serial-hack.patch;patch=1;status=hack \ file://connectplus-remove-ide-HACK.patch;patch=1;status=hack \ + file://connectplus-prevent-oops-HACK.patch;patch=1;status=hack \ file://squashfs3.0-2.6.15.patch;patch=1;status=external \ file://vesafb-tng-1.0-rc2-2.6.20-rc2.patch;patch=1;status=external \ file://sharpsl-rc-r1.patch;patch=1 \ |