Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
linux
Commits
d84cebb6
Commit
d84cebb6
authored
Jul 24, 2002
by
Doug Ledford
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[PATCH] Fix the BusLogic driver in 2.5.x
parent
2c0a3925
Changes
2
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
183 additions
and
116 deletions
+183
-116
drivers/scsi/BusLogic.c
drivers/scsi/BusLogic.c
+165
-102
drivers/scsi/BusLogic.h
drivers/scsi/BusLogic.h
+18
-14
No files found.
drivers/scsi/BusLogic.c
View file @
d84cebb6
This diff is collapsed.
Click to expand it.
drivers/scsi/BusLogic.h
View file @
d84cebb6
...
...
@@ -57,7 +57,8 @@ extern int BusLogic_QueueCommand(SCSI_Command_T *,
void
(
*
CompletionRoutine
)(
SCSI_Command_T
*
));
extern
int
BusLogic_AbortCommand
(
SCSI_Command_T
*
);
extern
int
BusLogic_ResetCommand
(
SCSI_Command_T
*
,
unsigned
int
);
extern
int
BusLogic_BIOSDiskParameters
(
SCSI_Disk_T
*
,
struct
block_device
*
,
int
*
);
extern
int
BusLogic_BIOSDiskParameters
(
SCSI_Disk_T
*
,
struct
block_device
*
,
int
*
);
extern
int
BusLogic_ProcDirectoryInfo
(
char
*
,
char
**
,
off_t
,
int
,
int
,
int
);
...
...
@@ -371,6 +372,7 @@ typedef struct BusLogic_ProbeInfo
BusLogic_HostAdapterBusType_T
HostAdapterBusType
;
BusLogic_IO_Address_T
IO_Address
;
BusLogic_PCI_Address_T
PCI_Address
;
PCI_Device_T
*
PCI_Device
;
unsigned
char
Bus
;
unsigned
char
Device
;
unsigned
char
IRQ_Channel
;
...
...
@@ -1191,7 +1193,9 @@ typedef struct BusLogic_CCB
/*
BusLogic Linux Driver Defined Portion.
*/
boolean
AllocationGroupHead
;
dma_addr_t
AllocationGroupHead
;
unsigned
int
AllocationGroupSize
;
BusLogic_BusAddress_T
DMA_Handle
;
BusLogic_CCB_Status_T
Status
;
unsigned
long
SerialNumber
;
SCSI_Command_T
*
Command
;
...
...
@@ -1355,6 +1359,7 @@ FlashPoint_Info_T;
typedef
struct
BusLogic_HostAdapter
{
SCSI_Host_T
*
SCSI_Host
;
PCI_Device_T
*
PCI_Device
;
BusLogic_HostAdapterType_T
HostAdapterType
;
BusLogic_HostAdapterBusType_T
HostAdapterBusType
;
BusLogic_IO_Address_T
IO_Address
;
...
...
@@ -1443,9 +1448,13 @@ typedef struct BusLogic_HostAdapter
BusLogic_IncomingMailbox_T
*
LastIncomingMailbox
;
BusLogic_IncomingMailbox_T
*
NextIncomingMailbox
;
BusLogic_TargetStatistics_T
TargetStatistics
[
BusLogic_MaxTargetDevices
];
unsigned
char
MailboxSpace
[
BusLogic_MaxMailboxes
unsigned
char
*
MailboxSpace
;
dma_addr_t
MailboxSpaceHandle
;
unsigned
int
MailboxSize
;
unsigned
long
CCB_Offset
;
/* [BusLogic_MaxMailboxes
* (sizeof(BusLogic_OutgoingMailbox_T)
+
sizeof
(
BusLogic_IncomingMailbox_T
))];
+ sizeof(BusLogic_IncomingMailbox_T))];
*/
char
MessageBuffer
[
BusLogic_MessageBufferSize
];
}
BusLogic_HostAdapter_T
;
...
...
@@ -1504,9 +1513,9 @@ SCSI_Inquiry_T;
*/
static
inline
void
BusLogic_AcquireHostAdapterLock
(
BusLogic_HostAdapter_T
*
HostAdapter
,
ProcessorFlags_T
*
ProcessorFlags
)
void
BusLogic_AcquireHostAdapterLock
(
BusLogic_HostAdapter_T
*
HostAdapter
)
{
spin_lock_irq
(
HostAdapter
->
SCSI_Host
->
host_lock
);
}
...
...
@@ -1515,9 +1524,9 @@ void BusLogic_AcquireHostAdapterLock(BusLogic_HostAdapter_T *HostAdapter,
*/
static
inline
void
BusLogic_ReleaseHostAdapterLock
(
BusLogic_HostAdapter_T
*
HostAdapter
,
ProcessorFlags_T
*
ProcessorFlags
)
void
BusLogic_ReleaseHostAdapterLock
(
BusLogic_HostAdapter_T
*
HostAdapter
)
{
spin_unlock_irq
(
HostAdapter
->
SCSI_Host
->
host_lock
);
}
...
...
@@ -1648,12 +1657,7 @@ void BusLogic_StartMailboxCommand(BusLogic_HostAdapter_T *HostAdapter)
static
inline
void
BusLogic_Delay
(
int
Seconds
)
{
int
Milliseconds
=
1000
*
Seconds
;
unsigned
long
ProcessorFlags
;
save_flags
(
ProcessorFlags
);
sti
();
while
(
--
Milliseconds
>=
0
)
udelay
(
1000
);
restore_flags
(
ProcessorFlags
);
mdelay
(
1000
*
Seconds
);
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment