From owner-freebsd-bugs Thu Aug 30 12:31:14 2001 Delivered-To: freebsd-bugs@hub.freebsd.org Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id 7BEFA37B408 for ; Thu, 30 Aug 2001 12:30:57 -0700 (PDT) (envelope-from gnats@FreeBSD.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.11.4/8.11.4) id f7UJU1S36527; Thu, 30 Aug 2001 12:30:01 -0700 (PDT) (envelope-from gnats) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id CA68A37B40B for ; Thu, 30 Aug 2001 12:24:33 -0700 (PDT) (envelope-from nobody@FreeBSD.org) Received: (from nobody@localhost) by freefall.freebsd.org (8.11.4/8.11.4) id f7UJO1F35935; Thu, 30 Aug 2001 12:24:01 -0700 (PDT) (envelope-from nobody) Message-Id: <200108301924.f7UJO1F35935@freefall.freebsd.org> Date: Thu, 30 Aug 2001 12:24:01 -0700 (PDT) From: Peter Blok To: freebsd-gnats-submit@FreeBSD.org X-Send-Pr-Version: www-1.0 Subject: misc/30224: No irq - PCI wi card doesn't allow interupt sharing Sender: owner-freebsd-bugs@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org >Number: 30224 >Category: misc >Synopsis: No irq - PCI wi card doesn't allow interupt sharing >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Thu Aug 30 12:30:01 PDT 2001 >Closed-Date: >Last-Modified: >Originator: Peter Blok >Release: 4.4-RC >Organization:  >Environment: FreeBSD bsdpc 4.4-RC FreeBSD 4.4-RC #1: Mon Aug 27 20:41:38 CEST 2001 su@bsdpc:/usr/src/sys/compile/BSDPC i386 >Description: I have a SMC2602W wireless LAN PCI card. The wi driver recognizes the card, but is not able to allocate an interrupt and bails out with "NO irq?". The fix is very easy. Instead bus_alloc_resource with the RF_ACTIVE flag, it should be called with RF_ACTIVE|RF_SHAREABLE. This hack works for months without a problem. It is unknown what happens when the wi driver works with a pcmcia card. Can the interupts be shared in that case as well? >How-To-Repeat: Take 4.3-STABLE or 4.4- and a SMC2602W card. Make sure another device is also active on the same irq. >Fix: *** if_wi.c.orig Sun Jul 15 12:06:12 2001 --- if_wi.c Sun Jul 15 11:57:02 2001 *************** *** 1906,1912 **** sc->irq_rid = 0; sc->irq = bus_alloc_resource(dev, SYS_RES_IRQ, &sc->irq_rid, ! 0, ~0, 1, RF_ACTIVE); if (!sc->irq) { wi_free(dev); device_printf(dev, "No irq?!\n"); --- 1906,1912 ---- sc->irq_rid = 0; sc->irq = bus_alloc_resource(dev, SYS_RES_IRQ, &sc->irq_rid, ! 0, ~0, 1, RF_SHAREABLE|RF_ACTIVE); if (!sc->irq) { wi_free(dev); device_printf(dev, "No irq?!\n"); >Release-Note: >Audit-Trail: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message