lkml.org 
[lkml]   [1999]   [Aug]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: Buslogic BT-948 is not detected
On Tue, 17 Aug 1999, Lauri Tischler wrote:

> Buslogic BT-948 is not detected on kernel 2.3.13, here is
> console output:
>
> BusLogic: Base Address0 0xD800 not I/O for Multimaster Host Adapter
> at PCI Bus 0 Device 12 I/O Address 0xD800
> scsi : 0 hosts
> scsi : detected total

<SNIP>

Here's the patch necessary, from Alan Cox:

The changes to buslogic.c are incorrect. You want these instead I think:


diff -u --new-file --recursive --exclude-from ../exclude linux.13p8/drivers/scsi/BusLogic.c linux.ac/drivers/scsi/BusLogic.c
--- linux.13p8/drivers/scsi/BusLogic.c Sat Aug 7 17:56:30 1999
+++ linux.ac/drivers/scsi/BusLogic.c Sat Aug 7 18:16:58 1999
@@ -783,12 +783,10 @@
unsigned int IRQ_Channel = PCI_Device->irq;
unsigned long BaseAddress0 = PCI_Device->resource[0].start;
unsigned long BaseAddress1 = PCI_Device->resource[1].start;
- BusLogic_IO_Address_T IO_Address =
- BaseAddress0 & PCI_BASE_ADDRESS_IO_MASK;
- BusLogic_PCI_Address_T PCI_Address =
- BaseAddress1 & PCI_BASE_ADDRESS_MEM_MASK;
- if ((BaseAddress0 & PCI_BASE_ADDRESS_SPACE)
- != PCI_BASE_ADDRESS_SPACE_IO)
+ BusLogic_IO_Address_T IO_Address = BaseAddress0;
+ BusLogic_PCI_Address_T PCI_Address = BaseAddress1;
+
+ if (!(PCI_Device->resource[0].flags & PCI_BASE_ADDRESS_SPACE_IO))
{
BusLogic_Error("BusLogic: Base Address0 0x%X not I/O for "
"MultiMaster Host Adapter\n", NULL, BaseAddress0);
@@ -796,8 +794,7 @@
NULL, Bus, Device, IO_Address);
continue;
}
- if ((BaseAddress1 & PCI_BASE_ADDRESS_SPACE)
- != PCI_BASE_ADDRESS_SPACE_MEMORY)
+ if (PCI_Device->resource[1].flags & PCI_BASE_ADDRESS_SPACE_IO)
{
BusLogic_Error("BusLogic: Base Address1 0x%X not Memory for "
"MultiMaster Host Adapter\n", NULL, BaseAddress1);
@@ -986,8 +983,8 @@
unsigned char Bus = PCI_Device->bus->number;
unsigned char Device = PCI_Device->devfn >> 3;
unsigned int IRQ_Channel = PCI_Device->irq;
- BusLogic_IO_Address_T IO_Address =
- PCI_Device->resource[0].start & PCI_BASE_ADDRESS_IO_MASK;
+ BusLogic_IO_Address_T IO_Address = PCI_Device->resource[0].start;
+
if (IO_Address == 0 || IRQ_Channel == 0) continue;
for (i = 0; i < BusLogic_ProbeInfoCount; i++)
{
@@ -1032,13 +1029,10 @@
unsigned int IRQ_Channel = PCI_Device->irq;
unsigned long BaseAddress0 = PCI_Device->resource[0].start;
unsigned long BaseAddress1 = PCI_Device->resource[1].start;
- BusLogic_IO_Address_T IO_Address =
- BaseAddress0 & PCI_BASE_ADDRESS_IO_MASK;
- BusLogic_PCI_Address_T PCI_Address =
- BaseAddress1 & PCI_BASE_ADDRESS_MEM_MASK;
+ BusLogic_IO_Address_T IO_Address = BaseAddress0;
+ BusLogic_PCI_Address_T PCI_Address = BaseAddress1;
#ifndef CONFIG_SCSI_OMIT_FLASHPOINT
- if ((BaseAddress0 & PCI_BASE_ADDRESS_SPACE)
- != PCI_BASE_ADDRESS_SPACE_IO)
+ if (!(PCI_Device->resource[0].flags & PCI_BASE_ADDRESS_SPACE_IO))
{
BusLogic_Error("BusLogic: Base Address0 0x%X not I/O for "
"FlashPoint Host Adapter\n", NULL, BaseAddress0);
@@ -1046,8 +1040,7 @@
NULL, Bus, Device, IO_Address);
continue;
}
- if ((BaseAddress1 & PCI_BASE_ADDRESS_SPACE)
- != PCI_BASE_ADDRESS_SPACE_MEMORY)
+ if (PCI_Device->resource[1].flags & PCI_BASE_ADDRESS_SPACE_IO)
{
BusLogic_Error("BusLogic: Base Address1 0x%X not Memory for "
"FlashPoint Host Adapter\n", NULL, BaseAddress1);
--
Drew Bernat __ ____
abernat@zathras.net | | |
http://www.zathras.net | |

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:53    [W:0.069 / U:0.144 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site