Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 263865
b: refs/heads/master
c: 7736594
h: refs/heads/master
i:
  263863: fbdcf16
v: v3
  • Loading branch information
Konrad Rzeszutek Wilk committed Sep 15, 2011
1 parent fc58825 commit 77d60f8
Show file tree
Hide file tree
Showing 2 changed files with 21 additions and 21 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: e3b73c4a25e9a5705b4ef28b91676caf01f9bc9f
refs/heads/master: 773659483685d652970583384a0294948e57f8b3
40 changes: 20 additions & 20 deletions trunk/drivers/xen/events.c
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@
* This lock protects updates to the following mapping and reference-count
* arrays. The lock does not need to be acquired to read the mapping tables.
*/
static DEFINE_SPINLOCK(irq_mapping_update_lock);
static DEFINE_MUTEX(irq_mapping_update_lock);

static LIST_HEAD(xen_irq_list_head);

Expand Down Expand Up @@ -631,7 +631,7 @@ int xen_bind_pirq_gsi_to_irq(unsigned gsi,
int irq = -1;
struct physdev_irq irq_op;

spin_lock(&irq_mapping_update_lock);
mutex_lock(&irq_mapping_update_lock);

irq = find_irq_by_gsi(gsi);
if (irq != -1) {
Expand Down Expand Up @@ -684,7 +684,7 @@ int xen_bind_pirq_gsi_to_irq(unsigned gsi,
handle_edge_irq, name);

out:
spin_unlock(&irq_mapping_update_lock);
mutex_unlock(&irq_mapping_update_lock);

return irq;
}
Expand All @@ -710,7 +710,7 @@ int xen_bind_pirq_msi_to_irq(struct pci_dev *dev, struct msi_desc *msidesc,
{
int irq, ret;

spin_lock(&irq_mapping_update_lock);
mutex_lock(&irq_mapping_update_lock);

irq = xen_allocate_irq_dynamic();
if (irq == -1)
Expand All @@ -724,10 +724,10 @@ int xen_bind_pirq_msi_to_irq(struct pci_dev *dev, struct msi_desc *msidesc,
if (ret < 0)
goto error_irq;
out:
spin_unlock(&irq_mapping_update_lock);
mutex_unlock(&irq_mapping_update_lock);
return irq;
error_irq:
spin_unlock(&irq_mapping_update_lock);
mutex_unlock(&irq_mapping_update_lock);
xen_free_irq(irq);
return -1;
}
Expand All @@ -740,7 +740,7 @@ int xen_destroy_irq(int irq)
struct irq_info *info = info_for_irq(irq);
int rc = -ENOENT;

spin_lock(&irq_mapping_update_lock);
mutex_lock(&irq_mapping_update_lock);

desc = irq_to_desc(irq);
if (!desc)
Expand All @@ -766,7 +766,7 @@ int xen_destroy_irq(int irq)
xen_free_irq(irq);

out:
spin_unlock(&irq_mapping_update_lock);
mutex_unlock(&irq_mapping_update_lock);
return rc;
}

Expand All @@ -776,7 +776,7 @@ int xen_irq_from_pirq(unsigned pirq)

struct irq_info *info;

spin_lock(&irq_mapping_update_lock);
mutex_lock(&irq_mapping_update_lock);

list_for_each_entry(info, &xen_irq_list_head, list) {
if (info == NULL || info->type != IRQT_PIRQ)
Expand All @@ -787,7 +787,7 @@ int xen_irq_from_pirq(unsigned pirq)
}
irq = -1;
out:
spin_unlock(&irq_mapping_update_lock);
mutex_unlock(&irq_mapping_update_lock);

return irq;
}
Expand All @@ -802,7 +802,7 @@ int bind_evtchn_to_irq(unsigned int evtchn)
{
int irq;

spin_lock(&irq_mapping_update_lock);
mutex_lock(&irq_mapping_update_lock);

irq = evtchn_to_irq[evtchn];

Expand All @@ -818,7 +818,7 @@ int bind_evtchn_to_irq(unsigned int evtchn)
}

out:
spin_unlock(&irq_mapping_update_lock);
mutex_unlock(&irq_mapping_update_lock);

return irq;
}
Expand All @@ -829,7 +829,7 @@ static int bind_ipi_to_irq(unsigned int ipi, unsigned int cpu)
struct evtchn_bind_ipi bind_ipi;
int evtchn, irq;

spin_lock(&irq_mapping_update_lock);
mutex_lock(&irq_mapping_update_lock);

irq = per_cpu(ipi_to_irq, cpu)[ipi];

Expand All @@ -853,7 +853,7 @@ static int bind_ipi_to_irq(unsigned int ipi, unsigned int cpu)
}

out:
spin_unlock(&irq_mapping_update_lock);
mutex_unlock(&irq_mapping_update_lock);
return irq;
}

Expand All @@ -878,7 +878,7 @@ int bind_virq_to_irq(unsigned int virq, unsigned int cpu)
struct evtchn_bind_virq bind_virq;
int evtchn, irq;

spin_lock(&irq_mapping_update_lock);
mutex_lock(&irq_mapping_update_lock);

irq = per_cpu(virq_to_irq, cpu)[virq];

Expand All @@ -903,7 +903,7 @@ int bind_virq_to_irq(unsigned int virq, unsigned int cpu)
}

out:
spin_unlock(&irq_mapping_update_lock);
mutex_unlock(&irq_mapping_update_lock);

return irq;
}
Expand All @@ -913,7 +913,7 @@ static void unbind_from_irq(unsigned int irq)
struct evtchn_close close;
int evtchn = evtchn_from_irq(irq);

spin_lock(&irq_mapping_update_lock);
mutex_lock(&irq_mapping_update_lock);

if (VALID_EVTCHN(evtchn)) {
close.port = evtchn;
Expand Down Expand Up @@ -943,7 +943,7 @@ static void unbind_from_irq(unsigned int irq)

xen_free_irq(irq);

spin_unlock(&irq_mapping_update_lock);
mutex_unlock(&irq_mapping_update_lock);
}

int bind_evtchn_to_irqhandler(unsigned int evtchn,
Expand Down Expand Up @@ -1279,7 +1279,7 @@ void rebind_evtchn_irq(int evtchn, int irq)
will also be masked. */
disable_irq(irq);

spin_lock(&irq_mapping_update_lock);
mutex_lock(&irq_mapping_update_lock);

/* After resume the irq<->evtchn mappings are all cleared out */
BUG_ON(evtchn_to_irq[evtchn] != -1);
Expand All @@ -1289,7 +1289,7 @@ void rebind_evtchn_irq(int evtchn, int irq)

xen_irq_info_evtchn_init(irq, evtchn);

spin_unlock(&irq_mapping_update_lock);
mutex_unlock(&irq_mapping_update_lock);

/* new event channels are always bound to cpu 0 */
irq_set_affinity(irq, cpumask_of(0));
Expand Down

0 comments on commit 77d60f8

Please sign in to comment.