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
nexedi
linux
Commits
733b8cab
Commit
733b8cab
authored
Sep 26, 2003
by
Russell King
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[ARM] Don't use pci_find_device in interrupt context.
parent
7c587454
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
22 additions
and
3 deletions
+22
-3
arch/arm/kernel/bios32.c
arch/arm/kernel/bios32.c
+22
-3
No files found.
arch/arm/kernel/bios32.c
View file @
733b8cab
...
@@ -20,11 +20,15 @@
...
@@ -20,11 +20,15 @@
static
int
debug_pci
;
static
int
debug_pci
;
void
pcibios_report_status
(
u_int
status_mask
,
int
warn
)
/*
* We can't use pci_find_device() here since we are
* called from interrupt context.
*/
static
void
pcibios_bus_report_status
(
struct
pci_bus
*
bus
,
u_int
status_mask
,
int
warn
)
{
{
struct
pci_dev
*
dev
=
NULL
;
struct
pci_dev
*
dev
;
while
((
dev
=
pci_find_device
(
PCI_ANY_ID
,
PCI_ANY_ID
,
dev
))
!=
NULL
)
{
list_for_each_entry
(
dev
,
&
bus
->
devices
,
bus_list
)
{
u16
status
;
u16
status
;
/*
/*
...
@@ -47,6 +51,21 @@ void pcibios_report_status(u_int status_mask, int warn)
...
@@ -47,6 +51,21 @@ void pcibios_report_status(u_int status_mask, int warn)
if
(
warn
)
if
(
warn
)
printk
(
"(%s: %04X) "
,
pci_name
(
dev
),
status
);
printk
(
"(%s: %04X) "
,
pci_name
(
dev
),
status
);
}
}
list_for_each_entry
(
dev
,
&
bus
->
devices
,
bus_list
)
if
(
dev
->
subordinate
)
pcibios_bus_report_status
(
dev
->
subordinate
,
status_mask
,
warn
);
}
void
pcibios_report_status
(
u_int
status_mask
,
int
warn
)
{
struct
list_head
*
l
;
list_for_each
(
l
,
&
pci_root_buses
)
{
struct
pci_bus
*
bus
=
pci_bus_b
(
l
);
pcibios_bus_report_status
(
bus
,
status_mask
,
warn
);
}
}
}
/*
/*
...
...
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