File tree Expand file tree Collapse file tree 1 file changed +10
-16
lines changed Expand file tree Collapse file tree 1 file changed +10
-16
lines changed Original file line number Diff line number Diff line change @@ -1104,26 +1104,20 @@ EXPORT_SYMBOL(pci_irq_vector);
1104
1104
*/
1105
1105
const struct cpumask * pci_irq_get_affinity (struct pci_dev * dev , int nr )
1106
1106
{
1107
- if (dev -> msix_enabled ) {
1108
- struct msi_desc * entry ;
1107
+ int irq = pci_irq_vector (dev , nr );
1108
+ struct msi_desc * desc ;
1109
1109
1110
- for_each_pci_msi_entry (entry , dev ) {
1111
- if (entry -> msi_index == nr )
1112
- return & entry -> affinity -> mask ;
1113
- }
1114
- WARN_ON_ONCE (1 );
1110
+ if (WARN_ON_ONCE (irq <= 0 ))
1115
1111
return NULL ;
1116
- } else if (dev -> msi_enabled ) {
1117
- struct msi_desc * entry = first_pci_msi_entry (dev );
1118
-
1119
- if (WARN_ON_ONCE (!entry || !entry -> affinity ||
1120
- nr >= entry -> nvec_used ))
1121
- return NULL ;
1122
1112
1123
- return & entry -> affinity [nr ].mask ;
1124
- } else {
1113
+ desc = irq_get_msi_desc (irq );
1114
+ /* Non-MSI does not have the information handy */
1115
+ if (!desc )
1125
1116
return cpu_possible_mask ;
1126
- }
1117
+
1118
+ if (WARN_ON_ONCE (!desc -> affinity ))
1119
+ return NULL ;
1120
+ return & desc -> affinity [nr ].mask ;
1127
1121
}
1128
1122
EXPORT_SYMBOL (pci_irq_get_affinity );
1129
1123
You can’t perform that action at this time.
0 commit comments