Date: Wed, 12 Sep 2001 10:49:32 -0600 From: Warner Losh <imp@harmony.village.org> To: Lars Eggert <larse@ISI.EDU> Cc: mobile@FreeBSD.ORG Subject: Re: Partial Success! (Re: PC-Card broken: 4.4-RC4 & Dell Latitude C600) Message-ID: <200109121649.f8CGnWt41331@harmony.village.org> In-Reply-To: Your message of "Wed, 12 Sep 2001 09:12:35 PDT." <3B9F8973.C53A0ED4@isi.edu> References: <3B9F8973.C53A0ED4@isi.edu> <3B9F85BB.70DE18A6@isi.edu> <3B9EC74D.CF3DECBD@isi.edu> <3B9E81C4.5CB017D@isi.edu> <3B9D0A4C.2090203@isi.edu> <200109111837.f8BIbft34551@harmony.village.org> <200109112134.f8BLYkt35748@harmony.village.org> <3B9E843A.54EA07A7@isi.edu> <200109121453.f8CEr2t39965@harmony.village.org> <200109121604.f8CG45t40527@harmony.village.org>
next in thread | previous in thread | raw e-mail | index | archive | help
Actually, here's a more complete single patch. Although, to be honest, the code paths involved don't reallyt need the last hunk of this patch. Warner Index: pcic_pci.c =================================================================== RCS file: /home/imp/FreeBSD/CVS/src/sys/pccard/pcic_pci.c,v retrieving revision 1.54.2.16 diff -u -r1.54.2.16 pcic_pci.c --- pcic_pci.c 2001/09/06 20:59:49 1.54.2.16 +++ pcic_pci.c 2001/09/12 16:48:26 @@ -908,10 +908,15 @@ u_int32_t event; u_int32_t stat; int present; + int s; event = bus_space_read_4(sp->bst, sp->bsh, CB_SOCKET_EVENT); if (event != 0) { stat = bus_space_read_4(sp->bst, sp->bsh, CB_SOCKET_STATE); + + /* Ack the interrupt */ + bus_space_write_4(sp->bst, sp->bsh, 0, event); + if (bootverbose) device_printf(sc->dev, "Event mask 0x%x stat 0x%x\n", event, stat); @@ -928,14 +933,14 @@ sc->cd_pending = 1; } else { sc->cd_present = 0; + s = splhigh(); pccard_event(sp->slt, card_removed); + splx(s); } } if (stat & CB_SS_BADVCC) device_printf(sc->dev, "BAD Vcc request\n"); - /* Ack the interrupt */ - bus_space_write_4(sp->bst, sp->bsh, 0, event); } /* @@ -1314,7 +1319,7 @@ DEVMETHOD(bus_activate_resource, pcic_activate_resource), DEVMETHOD(bus_deactivate_resource, pcic_deactivate_resource), DEVMETHOD(bus_setup_intr, pcic_setup_intr), - DEVMETHOD(bus_teardown_intr, bus_generic_teardown_intr), + DEVMETHOD(bus_teardown_intr, pcic_teardown_intr), /* Card interface */ DEVMETHOD(card_set_res_flags, pcic_set_res_flags), To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-mobile" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200109121649.f8CGnWt41331>