aboutsummaryrefslogtreecommitdiffstats
path: root/net/iucv
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2008-07-18 05:39:39 -0400
committerDavid S. Miller <davem@davemloft.net>2008-07-18 05:39:39 -0400
commit49997d75152b3d23c53b0fa730599f2f74c92c65 (patch)
tree46e93126170d02cfec9505172e545732c1b69656 /net/iucv
parenta0c80b80e0fb48129e4e9d6a9ede914f9ff1850d (diff)
parent5b664cb235e97afbf34db9c4d77f08ebd725335e (diff)
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6
Conflicts: Documentation/powerpc/booting-without-of.txt drivers/atm/Makefile drivers/net/fs_enet/fs_enet-main.c drivers/pci/pci-acpi.c net/8021q/vlan.c net/iucv/iucv.c
Diffstat (limited to 'net/iucv')
-rw-r--r--net/iucv/af_iucv.c8
-rw-r--r--net/iucv/iucv.c30
2 files changed, 19 insertions, 19 deletions
diff --git a/net/iucv/af_iucv.c b/net/iucv/af_iucv.c
index 58e4aee3e696..29f7baa25110 100644
--- a/net/iucv/af_iucv.c
+++ b/net/iucv/af_iucv.c
@@ -1136,8 +1136,7 @@ static void iucv_callback_txdone(struct iucv_path *path,
1136 if (this) 1136 if (this)
1137 kfree_skb(this); 1137 kfree_skb(this);
1138 } 1138 }
1139 if (!this) 1139 BUG_ON(!this);
1140 printk(KERN_ERR "AF_IUCV msg tag %u not found\n", msg->tag);
1141 1140
1142 if (sk->sk_state == IUCV_CLOSING) { 1141 if (sk->sk_state == IUCV_CLOSING) {
1143 if (skb_queue_empty(&iucv_sk(sk)->send_skb_q)) { 1142 if (skb_queue_empty(&iucv_sk(sk)->send_skb_q)) {
@@ -1197,7 +1196,7 @@ static int __init afiucv_init(void)
1197 } 1196 }
1198 cpcmd("QUERY USERID", iucv_userid, sizeof(iucv_userid), &err); 1197 cpcmd("QUERY USERID", iucv_userid, sizeof(iucv_userid), &err);
1199 if (unlikely(err)) { 1198 if (unlikely(err)) {
1200 printk(KERN_ERR "AF_IUCV needs the VM userid\n"); 1199 WARN_ON(err);
1201 err = -EPROTONOSUPPORT; 1200 err = -EPROTONOSUPPORT;
1202 goto out; 1201 goto out;
1203 } 1202 }
@@ -1211,7 +1210,6 @@ static int __init afiucv_init(void)
1211 err = sock_register(&iucv_sock_family_ops); 1210 err = sock_register(&iucv_sock_family_ops);
1212 if (err) 1211 if (err)
1213 goto out_proto; 1212 goto out_proto;
1214 printk(KERN_INFO "AF_IUCV lowlevel driver initialized\n");
1215 return 0; 1213 return 0;
1216 1214
1217out_proto: 1215out_proto:
@@ -1227,8 +1225,6 @@ static void __exit afiucv_exit(void)
1227 sock_unregister(PF_IUCV); 1225 sock_unregister(PF_IUCV);
1228 proto_unregister(&iucv_proto); 1226 proto_unregister(&iucv_proto);
1229 iucv_unregister(&af_iucv_handler, 0); 1227 iucv_unregister(&af_iucv_handler, 0);
1230
1231 printk(KERN_INFO "AF_IUCV lowlevel driver unloaded\n");
1232} 1228}
1233 1229
1234module_init(afiucv_init); 1230module_init(afiucv_init);
diff --git a/net/iucv/iucv.c b/net/iucv/iucv.c
index d8e0635aace0..a598c7384840 100644
--- a/net/iucv/iucv.c
+++ b/net/iucv/iucv.c
@@ -480,7 +480,7 @@ static void iucv_setmask_mp(void)
480 if (cpu_isset(cpu, iucv_buffer_cpumask) && 480 if (cpu_isset(cpu, iucv_buffer_cpumask) &&
481 !cpu_isset(cpu, iucv_irq_cpumask)) 481 !cpu_isset(cpu, iucv_irq_cpumask))
482 smp_call_function_single(cpu, iucv_allow_cpu, 482 smp_call_function_single(cpu, iucv_allow_cpu,
483 NULL, 0, 1); 483 NULL, 1);
484 put_online_cpus(); 484 put_online_cpus();
485} 485}
486 486
@@ -498,7 +498,7 @@ static void iucv_setmask_up(void)
498 cpumask = iucv_irq_cpumask; 498 cpumask = iucv_irq_cpumask;
499 cpu_clear(first_cpu(iucv_irq_cpumask), cpumask); 499 cpu_clear(first_cpu(iucv_irq_cpumask), cpumask);
500 for_each_cpu_mask(cpu, cpumask) 500 for_each_cpu_mask(cpu, cpumask)
501 smp_call_function_single(cpu, iucv_block_cpu, NULL, 0, 1); 501 smp_call_function_single(cpu, iucv_block_cpu, NULL, 1);
502} 502}
503 503
504/** 504/**
@@ -523,7 +523,12 @@ static int iucv_enable(void)
523 rc = -EIO; 523 rc = -EIO;
524 get_online_cpus(); 524 get_online_cpus();
525 for_each_online_cpu(cpu) 525 for_each_online_cpu(cpu)
526<<<<<<< HEAD:net/iucv/iucv.c
526 smp_call_function_single(cpu, iucv_declare_cpu, NULL, 0, 1); 527 smp_call_function_single(cpu, iucv_declare_cpu, NULL, 0, 1);
528=======
529 smp_call_function_single(cpu, iucv_declare_cpu, NULL, 1);
530 preempt_enable();
531>>>>>>> 5b664cb235e97afbf34db9c4d77f08ebd725335e:net/iucv/iucv.c
527 if (cpus_empty(iucv_buffer_cpumask)) 532 if (cpus_empty(iucv_buffer_cpumask))
528 /* No cpu could declare an iucv buffer. */ 533 /* No cpu could declare an iucv buffer. */
529 goto out_path; 534 goto out_path;
@@ -546,9 +551,13 @@ out:
546 */ 551 */
547static void iucv_disable(void) 552static void iucv_disable(void)
548{ 553{
554<<<<<<< HEAD:net/iucv/iucv.c
549 get_online_cpus(); 555 get_online_cpus();
550 on_each_cpu(iucv_retrieve_cpu, NULL, 0, 1); 556 on_each_cpu(iucv_retrieve_cpu, NULL, 0, 1);
551 put_online_cpus(); 557 put_online_cpus();
558=======
559 on_each_cpu(iucv_retrieve_cpu, NULL, 1);
560>>>>>>> 5b664cb235e97afbf34db9c4d77f08ebd725335e:net/iucv/iucv.c
552 kfree(iucv_path_table); 561 kfree(iucv_path_table);
553} 562}
554 563
@@ -586,7 +595,7 @@ static int __cpuinit iucv_cpu_notify(struct notifier_block *self,
586 case CPU_ONLINE_FROZEN: 595 case CPU_ONLINE_FROZEN:
587 case CPU_DOWN_FAILED: 596 case CPU_DOWN_FAILED:
588 case CPU_DOWN_FAILED_FROZEN: 597 case CPU_DOWN_FAILED_FROZEN:
589 smp_call_function_single(cpu, iucv_declare_cpu, NULL, 0, 1); 598 smp_call_function_single(cpu, iucv_declare_cpu, NULL, 1);
590 break; 599 break;
591 case CPU_DOWN_PREPARE: 600 case CPU_DOWN_PREPARE:
592 case CPU_DOWN_PREPARE_FROZEN: 601 case CPU_DOWN_PREPARE_FROZEN:
@@ -595,10 +604,10 @@ static int __cpuinit iucv_cpu_notify(struct notifier_block *self,
595 if (cpus_empty(cpumask)) 604 if (cpus_empty(cpumask))
596 /* Can't offline last IUCV enabled cpu. */ 605 /* Can't offline last IUCV enabled cpu. */
597 return NOTIFY_BAD; 606 return NOTIFY_BAD;
598 smp_call_function_single(cpu, iucv_retrieve_cpu, NULL, 0, 1); 607 smp_call_function_single(cpu, iucv_retrieve_cpu, NULL, 1);
599 if (cpus_empty(iucv_irq_cpumask)) 608 if (cpus_empty(iucv_irq_cpumask))
600 smp_call_function_single(first_cpu(iucv_buffer_cpumask), 609 smp_call_function_single(first_cpu(iucv_buffer_cpumask),
601 iucv_allow_cpu, NULL, 0, 1); 610 iucv_allow_cpu, NULL, 1);
602 break; 611 break;
603 } 612 }
604 return NOTIFY_OK; 613 return NOTIFY_OK;
@@ -658,7 +667,7 @@ static void iucv_cleanup_queue(void)
658 * pending interrupts force them to the work queue by calling 667 * pending interrupts force them to the work queue by calling
659 * an empty function on all cpus. 668 * an empty function on all cpus.
660 */ 669 */
661 smp_call_function(__iucv_cleanup_queue, NULL, 0, 1); 670 smp_call_function(__iucv_cleanup_queue, NULL, 1);
662 spin_lock_irq(&iucv_queue_lock); 671 spin_lock_irq(&iucv_queue_lock);
663 list_for_each_entry_safe(p, n, &iucv_task_queue, list) { 672 list_for_each_entry_safe(p, n, &iucv_task_queue, list) {
664 /* Remove stale work items from the task queue. */ 673 /* Remove stale work items from the task queue. */
@@ -1565,16 +1574,11 @@ static void iucv_external_interrupt(u16 code)
1565 1574
1566 p = iucv_irq_data[smp_processor_id()]; 1575 p = iucv_irq_data[smp_processor_id()];
1567 if (p->ippathid >= iucv_max_pathid) { 1576 if (p->ippathid >= iucv_max_pathid) {
1568 printk(KERN_WARNING "iucv_do_int: Got interrupt with " 1577 WARN_ON(p->ippathid >= iucv_max_pathid);
1569 "pathid %d > max_connections (%ld)\n",
1570 p->ippathid, iucv_max_pathid - 1);
1571 iucv_sever_pathid(p->ippathid, iucv_error_no_listener); 1578 iucv_sever_pathid(p->ippathid, iucv_error_no_listener);
1572 return; 1579 return;
1573 } 1580 }
1574 if (p->iptype < 0x01 || p->iptype > 0x09) { 1581 BUG_ON(p->iptype < 0x01 || p->iptype > 0x09);
1575 printk(KERN_ERR "iucv_do_int: unknown iucv interrupt\n");
1576 return;
1577 }
1578 work = kmalloc(sizeof(struct iucv_irq_list), GFP_ATOMIC); 1582 work = kmalloc(sizeof(struct iucv_irq_list), GFP_ATOMIC);
1579 if (!work) { 1583 if (!work) {
1580 printk(KERN_WARNING "iucv_external_interrupt: out of memory\n"); 1584 printk(KERN_WARNING "iucv_external_interrupt: out of memory\n");