git://ftp.safe.ca
/
safe
/
jmp
/
linux-2.6
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
mtd: physmap: fix NULL pointer dereference in error path
[safe/jmp/linux-2.6]
/
drivers
/
parisc
/
iosapic.c
diff --git
a/drivers/parisc/iosapic.c
b/drivers/parisc/iosapic.c
index
12bab64
..
0797659
100644
(file)
--- a/
drivers/parisc/iosapic.c
+++ b/
drivers/parisc/iosapic.c
@@
-519,8
+519,7
@@
iosapic_xlate_pin(struct iosapic_info *isi, struct pci_dev *pcidev)
**
** Advantage is it's really easy to implement.
*/
**
** Advantage is it's really easy to implement.
*/
- intr_pin = ((intr_pin-1)+PCI_SLOT(pcidev->devfn)) % 4;
- intr_pin++; /* convert back to INTA-D (1-4) */
+ intr_pin = pci_swizzle_interrupt_pin(pcidev, intr_pin);
#endif /* PCI_BRIDGE_FUNCS */
/*
#endif /* PCI_BRIDGE_FUNCS */
/*
@@
-619,7
+618,9
@@
iosapic_set_irt_data( struct vector_info *vi, u32 *dp0, u32 *dp1)
static struct vector_info *iosapic_get_vector(unsigned int irq)
{
static struct vector_info *iosapic_get_vector(unsigned int irq)
{
- return irq_desc[irq].chip_data;
+ struct irq_desc *desc = irq_to_desc(irq);
+
+ return desc->chip_data;
}
static void iosapic_disable_irq(unsigned int irq)
}
static void iosapic_disable_irq(unsigned int irq)
@@
-702,16
+703,17
@@
static unsigned int iosapic_startup_irq(unsigned int irq)
}
#ifdef CONFIG_SMP
}
#ifdef CONFIG_SMP
-static void iosapic_set_affinity_irq(unsigned int irq, cpumask_t dest)
+static void iosapic_set_affinity_irq(unsigned int irq,
+ const struct cpumask *dest)
{
struct vector_info *vi = iosapic_get_vector(irq);
u32 d0, d1, dummy_d0;
unsigned long flags;
{
struct vector_info *vi = iosapic_get_vector(irq);
u32 d0, d1, dummy_d0;
unsigned long flags;
- if (cpu_check_affinity(irq,
&
dest))
+ if (cpu_check_affinity(irq, dest))
return;
return;
- vi->txn_addr = txn_affinity_addr(irq,
first_cpu
(dest));
+ vi->txn_addr = txn_affinity_addr(irq,
cpumask_first
(dest));
spin_lock_irqsave(&iosapic_lock, flags);
/* d1 contains the destination CPU, so only want to set that
spin_lock_irqsave(&iosapic_lock, flags);
/* d1 contains the destination CPU, so only want to set that
@@
-874,7
+876,7
@@
void *iosapic_register(unsigned long hpa)
return NULL;
}
return NULL;
}
- isi =
(struct iosapic_info *)
kzalloc(sizeof(struct iosapic_info), GFP_KERNEL);
+ isi = kzalloc(sizeof(struct iosapic_info), GFP_KERNEL);
if (!isi) {
BUG();
return NULL;
if (!isi) {
BUG();
return NULL;