From owner-freebsd-bugs Sat Feb 17 22:10:03 1996 Return-Path: owner-bugs Received: (from root@localhost) by freefall.freebsd.org (8.7.3/8.7.3) id WAA27090 for bugs-outgoing; Sat, 17 Feb 1996 22:10:03 -0800 (PST) Received: (from gnats@localhost) by freefall.freebsd.org (8.7.3/8.7.3) id WAA27084 Sat, 17 Feb 1996 22:10:02 -0800 (PST) Resent-Date: Sat, 17 Feb 1996 22:10:02 -0800 (PST) Resent-Message-Id: <199602180610.WAA27084@freefall.freebsd.org> Resent-From: gnats (GNATS Management) Resent-To: freebsd-bugs Resent-Reply-To: FreeBSD-gnats@freefall.FreeBSD.org, greg@greg.rim.or.jp Received: from rayearth.rim.or.jp (uucp@rayearth.rim.or.jp [202.247.130.242]) by freefall.freebsd.org (8.7.3/8.7.3) with ESMTP id WAA26684 for ; Sat, 17 Feb 1996 22:01:47 -0800 (PST) Received: (from uucp@localhost) by rayearth.rim.or.jp (8.7.3/3.4W3-uucp1) with UUCP id PAA07366 for FreeBSD-gnats-submit@freebsd.org; Sun, 18 Feb 1996 15:01:25 +0900 (JST) Received: from apollon.greg.rim.or.jp (apollon.greg.rim.or.jp [172.31.1.2]) by atena.greg.rim.or.jp (8.6.12/3.4Wbeta6) with ESMTP id OAA27404 for ; Sun, 18 Feb 1996 14:56:05 +0900 Received: (from greg@localhost) by apollon.greg.rim.or.jp (8.7.3/3.4Wbeta6) id OAA19383; Sun, 18 Feb 1996 14:56:04 +0900 (JST) Message-Id: <199602180556.OAA19383@apollon.greg.rim.or.jp> Date: Sun, 18 Feb 1996 14:56:04 +0900 (JST) From: greg@greg.rim.or.jp Reply-To: greg@greg.rim.or.jp To: FreeBSD-gnats-submit@freebsd.org X-Send-Pr-Version: 3.2 Subject: kern/1032: Problem about BT driver for PCI Sender: owner-bugs@freebsd.org Precedence: bulk >Number: 1032 >Category: kern >Synopsis: Problem about BT driver for PCI >Confidential: yes >Severity: critical >Priority: high >Responsible: freebsd-bugs >State: open >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Sat Feb 17 22:10:01 PST 1996 >Last-Modified: >Originator: Kensaku Masuda >Organization: Private >Release: FreeBSD 2.2-960130-SNAP i386 >Environment: CPU: Pentium-90 MEMORY: 32MB DISK: 1GB * 2 + 730MB SCSI CARD: BT-946 & NCR810 >Description: BT driver can not look up BT-946 PCI card, and driver don't find old revision BT-946. Ex) PCI product ID 0x0140. And Mother-board select the shared IRQ, driver will confusing. bt0 rev 0 int a irq 9 on pci0:17 . . ncr0 rev 2 int a irq 9 on pci 0:18 >How-To-Repeat: Use all SCSI controller at one time, system will hung up/system down. >Fix: I make a patch. diff -rc sys/i386/scsi/bt.c /usr/src/sys/i386/scsi/bt.c *** sys/i386/scsi/bt.c Fri Jan 26 08:03:07 1996 --- /usr/src/sys/i386/scsi/bt.c Sat Feb 17 23:28:57 1996 *************** *** 263,268 **** --- 263,269 ---- static struct bt_found found[] = { + { 0xfffc, 0}, { 0x330, 0 }, { 0x334, 0 }, { 0x230, 0 }, *************** *** 561,566 **** --- 562,573 ---- * just return. */ stat = inb(BT_INTR_PORT); + #define BT_STAT_MASK \ + (BT_STST | BT_DIAGF | BT_INIT | BT_IDLE | BT_CDF | BT_DF | BT_INVDCMD) + if((stat & BT_STAT_MASK) == 0) { + return; + } + #undef BT_STAT_MASK /* Mail Box out empty ? */ if (stat & BT_MBOA) { diff -rc sys/pci/bt9xx.c /usr/src/sys/pci/bt9xx.c *** sys/pci/bt9xx.c Wed Jan 24 06:46:57 1996 --- /usr/src/sys/pci/bt9xx.c Sat Feb 17 23:59:21 1996 *************** *** 35,42 **** #include /* XXX Need more device IDs */ ! #define PCI_BASEADR0 PCI_MAP_REG_START ! #define PCI_DEVICE_ID_BUSLOGIC_946 0x104B1040ul static char* bt_pci_probe __P((pcici_t tag, pcidi_t type)); static void bt_pci_attach __P((pcici_t config_id, int unit)); --- 35,43 ---- #include /* XXX Need more device IDs */ ! #define PCI_BASEADR0 PCI_MAP_REG_START ! #define PCI_DEVICE_ID_BUSLOGIC_946 0x1040104Bul ! #define PCI_DEVICE_ID_BUSLOGIC_946_OLD 0x0140104Bul static char* bt_pci_probe __P((pcici_t tag, pcidi_t type)); static void bt_pci_attach __P((pcici_t config_id, int unit)); *************** *** 55,60 **** --- 56,64 ---- bt_pci_probe (pcici_t tag, pcidi_t type) { switch(type) { + case PCI_DEVICE_ID_BUSLOGIC_946_OLD: + return ("Buslogic 946 SCSI host adapter(Old revision)"); + break; case PCI_DEVICE_ID_BUSLOGIC_946: return ("Buslogic 946 SCSI host adapter"); break; >Audit-Trail: >Unformatted: