From owner-freebsd-net@FreeBSD.ORG Mon Jan 25 10:30:57 2010 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2865D106566B; Mon, 25 Jan 2010 10:30:57 +0000 (UTC) (envelope-from tibor.vidok@ericsson.com) Received: from mailgw5.ericsson.se (mailgw5.ericsson.se [193.180.251.36]) by mx1.freebsd.org (Postfix) with ESMTP id 770358FC0C; Mon, 25 Jan 2010 10:30:55 +0000 (UTC) X-AuditID: c1b4fb24-b7c57ae000002bb1-d1-4b5d6f586a5a Received: from esessmw0237.eemea.ericsson.se (Unknown_Domain [153.88.253.125]) by mailgw5.ericsson.se (Symantec Mail Security) with SMTP id 4D.FD.11185.85F6D5B4; Mon, 25 Jan 2010 11:15:52 +0100 (CET) Received: from [159.107.198.158] (153.88.115.8) by esessmw0237.eemea.ericsson.se (153.88.115.92) with Microsoft SMTP Server (TLS) id 8.1.375.2; Mon, 25 Jan 2010 11:15:51 +0100 Message-ID: <4B5D6F50.2090900@ericsson.com> Date: Mon, 25 Jan 2010 11:15:44 +0100 From: Tibor Vidok User-Agent: Thunderbird 2.0.0.23 (X11/20090812) MIME-Version: 1.0 To: "freebsd-net@freebsd.org" , X-Enigmail-Version: 0.96.0 Content-Type: multipart/mixed; boundary="------------030706020709050603030407" X-Brightmail-Tracker: AAAAAA== Cc: Subject: Legacy interrupt registration in e1000 (em and igb) X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 25 Jan 2010 10:30:57 -0000 --------------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--