diff options
-rw-r--r-- | net/iucv/iucv.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/net/iucv/iucv.c b/net/iucv/iucv.c index b7333061016d..ad5150b8dfa9 100644 --- a/net/iucv/iucv.c +++ b/net/iucv/iucv.c | |||
@@ -1494,7 +1494,10 @@ static void iucv_tasklet_fn(unsigned long ignored) | |||
1494 | struct iucv_irq_list *p, *n; | 1494 | struct iucv_irq_list *p, *n; |
1495 | 1495 | ||
1496 | /* Serialize tasklet, iucv_path_sever and iucv_path_connect. */ | 1496 | /* Serialize tasklet, iucv_path_sever and iucv_path_connect. */ |
1497 | spin_lock(&iucv_table_lock); | 1497 | if (!spin_trylock(&iucv_table_lock)) { |
1498 | tasklet_schedule(&iucv_tasklet); | ||
1499 | return; | ||
1500 | } | ||
1498 | iucv_active_cpu = smp_processor_id(); | 1501 | iucv_active_cpu = smp_processor_id(); |
1499 | 1502 | ||
1500 | spin_lock_irq(&iucv_queue_lock); | 1503 | spin_lock_irq(&iucv_queue_lock); |