Date: Mon, 25 Jan 2010 11:15:44 +0100 From: Tibor Vidok <Tibor.Vidok@ericsson.com> To: "freebsd-net@freebsd.org" <freebsd-net@freebsd.org>, <jfv@FreeBSD.org> Subject: Legacy interrupt registration in e1000 (em and igb) Message-ID: <4B5D6F50.2090900@ericsson.com>
next in thread | raw e-mail | index | archive | help
--------------030706020709050603030407 Content-Type: text/plain; charset="ISO-8859-1" Content-Transfer-Encoding: 7bit -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi Jack and all, Few month before I've send a PR (see bellow) about interrupt setup in em driver. Now I run into the same problem with igb too. It seems that I'm the one using such an old interrupt mechanism with new chips... So the problem is that when one tries to register legacy mode interrupts, NULL is passed to bus_setup_intr as handler. Jack: Please check my attached path and apply it if you think so. Original PR was the following: Number:140728 Category:kern Synopsis:[em] [patch] Fast irq registration in em driver Have a nice day, Tibor -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iD8DBQFLXW9QCwkLbqzjZAIRApe6AJ9310xDauVwNFsDd9cq5GYop2GlzwCg2y5T v54NC8n6XeAlg0VhB+jDaHE= =vSx/ -----END PGP SIGNATURE----- --------------030706020709050603030407 Content-Type: text/x-patch; name="legacy-intr.patch" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="legacy-intr.patch" Index: if_igb.c =================================================================== --- if_igb.c (revision 202964) +++ if_igb.c (working copy) @@ -2075,7 +2075,7 @@ taskqueue_start_threads(&adapter->tq, 1, PI_NET, "%s taskq", device_get_nameunit(adapter->dev)); if ((error = bus_setup_intr(dev, adapter->res, - INTR_TYPE_NET | INTR_MPSAFE, igb_irq_fast, NULL, + INTR_TYPE_NET | INTR_MPSAFE, NULL, igb_irq_fast, adapter, &adapter->tag)) != 0) { device_printf(dev, "Failed to register fast interrupt " "handler: %d\n", error); Index: if_em.c =================================================================== --- if_em.c (revision 202964) +++ if_em.c (working copy) @@ -2787,7 +2787,7 @@ INTR_TYPE_NET | INTR_FAST, em_irq_fast, adapter, #else if ((error = bus_setup_intr(dev, adapter->res[0], - INTR_TYPE_NET, em_irq_fast, NULL, adapter, + INTR_TYPE_NET, NULL, em_irq_fast, adapter, #endif &adapter->tag[0])) != 0) { device_printf(dev, "Failed to register fast interrupt " --------------030706020709050603030407 Content-Type: application/pgp-signature; name="legacy-intr.patch.sig" Content-Transfer-Encoding: base64 Content-Disposition: inline; filename="legacy-intr.patch.sig" iD8DBQBLXW9QCwkLbqzjZAIRAmfZAKDzlEed9SOgmutK14cF14b/nBJ1YgCfWLQLKXL7fMIt mtONvrzwEJdKrXM= --------------030706020709050603030407--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4B5D6F50.2090900>