projects
/
powerpc.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[PATCH] ipw2200: Filter unsupported channels out in ad-hoc mode
[powerpc.git]
/
drivers
/
pci
/
msi.c
diff --git
a/drivers/pci/msi.c
b/drivers/pci/msi.c
index
202b750
..
48723d6
100644
(file)
--- a/
drivers/pci/msi.c
+++ b/
drivers/pci/msi.c
@@
-137,6
+137,8
@@
static void set_msi_affinity(unsigned int vector, cpumask_t cpu_mask)
break;
}
}
break;
}
}
+#else
+#define set_msi_affinity NULL
#endif /* CONFIG_SMP */
static void mask_MSI_irq(unsigned int vector)
#endif /* CONFIG_SMP */
static void mask_MSI_irq(unsigned int vector)
@@
-214,7
+216,7
@@
static struct hw_interrupt_type msix_irq_type = {
.disable = mask_MSI_irq,
.ack = mask_MSI_irq,
.end = end_msi_irq_w_maskbit,
.disable = mask_MSI_irq,
.ack = mask_MSI_irq,
.end = end_msi_irq_w_maskbit,
- .set_affinity = set_msi_
irq_
affinity
+ .set_affinity = set_msi_affinity
};
/*
};
/*
@@
-230,7
+232,7
@@
static struct hw_interrupt_type msi_irq_w_maskbit_type = {
.disable = mask_MSI_irq,
.ack = mask_MSI_irq,
.end = end_msi_irq_w_maskbit,
.disable = mask_MSI_irq,
.ack = mask_MSI_irq,
.end = end_msi_irq_w_maskbit,
- .set_affinity = set_msi_
irq_
affinity
+ .set_affinity = set_msi_affinity
};
/*
};
/*
@@
-246,7
+248,7
@@
static struct hw_interrupt_type msi_irq_wo_maskbit_type = {
.disable = do_nothing,
.ack = do_nothing,
.end = end_msi_irq_wo_maskbit,
.disable = do_nothing,
.ack = do_nothing,
.end = end_msi_irq_wo_maskbit,
- .set_affinity = set_msi_
irq_
affinity
+ .set_affinity = set_msi_affinity
};
static void msi_data_init(struct msg_data *msi_data,
};
static void msi_data_init(struct msg_data *msi_data,
@@
-416,7
+418,9
@@
static void attach_msi_entry(struct msi_desc *entry, int vector)
static void irq_handler_init(int cap_id, int pos, int mask)
{
static void irq_handler_init(int cap_id, int pos, int mask)
{
- spin_lock(&irq_desc[pos].lock);
+ unsigned long flags;
+
+ spin_lock_irqsave(&irq_desc[pos].lock, flags);
if (cap_id == PCI_CAP_ID_MSIX)
irq_desc[pos].handler = &msix_irq_type;
else {
if (cap_id == PCI_CAP_ID_MSIX)
irq_desc[pos].handler = &msix_irq_type;
else {
@@
-425,7
+429,7
@@
static void irq_handler_init(int cap_id, int pos, int mask)
else
irq_desc[pos].handler = &msi_irq_w_maskbit_type;
}
else
irq_desc[pos].handler = &msi_irq_w_maskbit_type;
}
- spin_unlock
(&irq_desc[pos].lock
);
+ spin_unlock
_irqrestore(&irq_desc[pos].lock, flags
);
}
static void enable_msi_mode(struct pci_dev *dev, int pos, int type)
}
static void enable_msi_mode(struct pci_dev *dev, int pos, int type)