diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2009-01-07 20:23:53 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-01-07 20:23:53 -0500 |
commit | 9e42d0cf5020aaf217433cad1a224745241d212a (patch) | |
tree | 8d64537c600024a4220d1309873ac3467726c3b0 /arch/sparc/kernel | |
parent | 97c440ba41d4e7cddb8e14c7c7ec49dad2560709 (diff) | |
parent | 18b8e08e290e9df588f51f5a7df50555f5a25664 (diff) |
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6:
sparc64: Work around branch tracer warning.
sparc64: Fix unsigned long long warnings in drivers.
sparc64: Use unsigned long long for u64.
sparc: refactor code in fault_32.c
sparc64: refactor code in init_64.c
sparc64: refactor code in viohs.c
sparc: make proces_ver_nack a bit more readable
Diffstat (limited to 'arch/sparc/kernel')
-rw-r--r-- | arch/sparc/kernel/ds.c | 34 | ||||
-rw-r--r-- | arch/sparc/kernel/iommu.c | 2 | ||||
-rw-r--r-- | arch/sparc/kernel/ldc.c | 23 | ||||
-rw-r--r-- | arch/sparc/kernel/mdesc.c | 14 | ||||
-rw-r--r-- | arch/sparc/kernel/of_device_64.c | 2 | ||||
-rw-r--r-- | arch/sparc/kernel/pci.c | 2 | ||||
-rw-r--r-- | arch/sparc/kernel/pci_common.c | 2 | ||||
-rw-r--r-- | arch/sparc/kernel/pci_msi.c | 4 | ||||
-rw-r--r-- | arch/sparc/kernel/pci_schizo.c | 2 | ||||
-rw-r--r-- | arch/sparc/kernel/pci_sun4v.c | 2 | ||||
-rw-r--r-- | arch/sparc/kernel/power.c | 2 | ||||
-rw-r--r-- | arch/sparc/kernel/prom_irqtrans.c | 2 | ||||
-rw-r--r-- | arch/sparc/kernel/psycho_common.c | 14 | ||||
-rw-r--r-- | arch/sparc/kernel/smp_64.c | 4 | ||||
-rw-r--r-- | arch/sparc/kernel/time_64.c | 12 | ||||
-rw-r--r-- | arch/sparc/kernel/traps_64.c | 20 | ||||
-rw-r--r-- | arch/sparc/kernel/unaligned_64.c | 8 | ||||
-rw-r--r-- | arch/sparc/kernel/vio.c | 4 | ||||
-rw-r--r-- | arch/sparc/kernel/viohs.c | 6 |
19 files changed, 83 insertions, 76 deletions
diff --git a/arch/sparc/kernel/ds.c b/arch/sparc/kernel/ds.c index f52e0534d91d..57c39843fb2a 100644 --- a/arch/sparc/kernel/ds.c +++ b/arch/sparc/kernel/ds.c | |||
@@ -286,7 +286,7 @@ static void md_update_data(struct ds_info *dp, | |||
286 | 286 | ||
287 | rp = (struct ds_md_update_req *) (dpkt + 1); | 287 | rp = (struct ds_md_update_req *) (dpkt + 1); |
288 | 288 | ||
289 | printk(KERN_INFO "ds-%lu: Machine description update.\n", dp->id); | 289 | printk(KERN_INFO "ds-%llu: Machine description update.\n", dp->id); |
290 | 290 | ||
291 | mdesc_update(); | 291 | mdesc_update(); |
292 | 292 | ||
@@ -325,7 +325,7 @@ static void domain_shutdown_data(struct ds_info *dp, | |||
325 | 325 | ||
326 | rp = (struct ds_shutdown_req *) (dpkt + 1); | 326 | rp = (struct ds_shutdown_req *) (dpkt + 1); |
327 | 327 | ||
328 | printk(KERN_ALERT "ds-%lu: Shutdown request from " | 328 | printk(KERN_ALERT "ds-%llu: Shutdown request from " |
329 | "LDOM manager received.\n", dp->id); | 329 | "LDOM manager received.\n", dp->id); |
330 | 330 | ||
331 | memset(&pkt, 0, sizeof(pkt)); | 331 | memset(&pkt, 0, sizeof(pkt)); |
@@ -365,7 +365,7 @@ static void domain_panic_data(struct ds_info *dp, | |||
365 | 365 | ||
366 | rp = (struct ds_panic_req *) (dpkt + 1); | 366 | rp = (struct ds_panic_req *) (dpkt + 1); |
367 | 367 | ||
368 | printk(KERN_ALERT "ds-%lu: Panic request from " | 368 | printk(KERN_ALERT "ds-%llu: Panic request from " |
369 | "LDOM manager received.\n", dp->id); | 369 | "LDOM manager received.\n", dp->id); |
370 | 370 | ||
371 | memset(&pkt, 0, sizeof(pkt)); | 371 | memset(&pkt, 0, sizeof(pkt)); |
@@ -549,7 +549,7 @@ static int __cpuinit dr_cpu_configure(struct ds_info *dp, | |||
549 | for_each_cpu_mask(cpu, *mask) { | 549 | for_each_cpu_mask(cpu, *mask) { |
550 | int err; | 550 | int err; |
551 | 551 | ||
552 | printk(KERN_INFO "ds-%lu: Starting cpu %d...\n", | 552 | printk(KERN_INFO "ds-%llu: Starting cpu %d...\n", |
553 | dp->id, cpu); | 553 | dp->id, cpu); |
554 | err = cpu_up(cpu); | 554 | err = cpu_up(cpu); |
555 | if (err) { | 555 | if (err) { |
@@ -565,7 +565,7 @@ static int __cpuinit dr_cpu_configure(struct ds_info *dp, | |||
565 | res = DR_CPU_RES_CPU_NOT_RESPONDING; | 565 | res = DR_CPU_RES_CPU_NOT_RESPONDING; |
566 | } | 566 | } |
567 | 567 | ||
568 | printk(KERN_INFO "ds-%lu: CPU startup failed err=%d\n", | 568 | printk(KERN_INFO "ds-%llu: CPU startup failed err=%d\n", |
569 | dp->id, err); | 569 | dp->id, err); |
570 | dr_cpu_mark(resp, cpu, ncpus, res, stat); | 570 | dr_cpu_mark(resp, cpu, ncpus, res, stat); |
571 | } | 571 | } |
@@ -605,7 +605,7 @@ static int dr_cpu_unconfigure(struct ds_info *dp, | |||
605 | for_each_cpu_mask(cpu, *mask) { | 605 | for_each_cpu_mask(cpu, *mask) { |
606 | int err; | 606 | int err; |
607 | 607 | ||
608 | printk(KERN_INFO "ds-%lu: Shutting down cpu %d...\n", | 608 | printk(KERN_INFO "ds-%llu: Shutting down cpu %d...\n", |
609 | dp->id, cpu); | 609 | dp->id, cpu); |
610 | err = cpu_down(cpu); | 610 | err = cpu_down(cpu); |
611 | if (err) | 611 | if (err) |
@@ -684,7 +684,7 @@ static void ds_pri_data(struct ds_info *dp, | |||
684 | 684 | ||
685 | rp = (struct ds_pri_msg *) (dpkt + 1); | 685 | rp = (struct ds_pri_msg *) (dpkt + 1); |
686 | 686 | ||
687 | printk(KERN_INFO "ds-%lu: PRI REQ [%lx:%lx], len=%d\n", | 687 | printk(KERN_INFO "ds-%llu: PRI REQ [%llx:%llx], len=%d\n", |
688 | dp->id, rp->req_num, rp->type, len); | 688 | dp->id, rp->req_num, rp->type, len); |
689 | } | 689 | } |
690 | 690 | ||
@@ -816,7 +816,7 @@ void ldom_set_var(const char *var, const char *value) | |||
816 | 816 | ||
817 | if (ds_var_doorbell == 0 || | 817 | if (ds_var_doorbell == 0 || |
818 | ds_var_response != DS_VAR_SUCCESS) | 818 | ds_var_response != DS_VAR_SUCCESS) |
819 | printk(KERN_ERR "ds-%lu: var-config [%s:%s] " | 819 | printk(KERN_ERR "ds-%llu: var-config [%s:%s] " |
820 | "failed, response(%d).\n", | 820 | "failed, response(%d).\n", |
821 | dp->id, var, value, | 821 | dp->id, var, value, |
822 | ds_var_response); | 822 | ds_var_response); |
@@ -850,7 +850,7 @@ void ldom_power_off(void) | |||
850 | 850 | ||
851 | static void ds_conn_reset(struct ds_info *dp) | 851 | static void ds_conn_reset(struct ds_info *dp) |
852 | { | 852 | { |
853 | printk(KERN_ERR "ds-%lu: ds_conn_reset() from %p\n", | 853 | printk(KERN_ERR "ds-%llu: ds_conn_reset() from %p\n", |
854 | dp->id, __builtin_return_address(0)); | 854 | dp->id, __builtin_return_address(0)); |
855 | } | 855 | } |
856 | 856 | ||
@@ -912,11 +912,11 @@ static int ds_handshake(struct ds_info *dp, struct ds_msg_tag *pkt) | |||
912 | struct ds_cap_state *cp = find_cap(dp, ap->handle); | 912 | struct ds_cap_state *cp = find_cap(dp, ap->handle); |
913 | 913 | ||
914 | if (!cp) { | 914 | if (!cp) { |
915 | printk(KERN_ERR "ds-%lu: REG ACK for unknown " | 915 | printk(KERN_ERR "ds-%llu: REG ACK for unknown " |
916 | "handle %lx\n", dp->id, ap->handle); | 916 | "handle %llx\n", dp->id, ap->handle); |
917 | return 0; | 917 | return 0; |
918 | } | 918 | } |
919 | printk(KERN_INFO "ds-%lu: Registered %s service.\n", | 919 | printk(KERN_INFO "ds-%llu: Registered %s service.\n", |
920 | dp->id, cp->service_id); | 920 | dp->id, cp->service_id); |
921 | cp->state = CAP_STATE_REGISTERED; | 921 | cp->state = CAP_STATE_REGISTERED; |
922 | } else if (pkt->type == DS_REG_NACK) { | 922 | } else if (pkt->type == DS_REG_NACK) { |
@@ -924,8 +924,8 @@ static int ds_handshake(struct ds_info *dp, struct ds_msg_tag *pkt) | |||
924 | struct ds_cap_state *cp = find_cap(dp, np->handle); | 924 | struct ds_cap_state *cp = find_cap(dp, np->handle); |
925 | 925 | ||
926 | if (!cp) { | 926 | if (!cp) { |
927 | printk(KERN_ERR "ds-%lu: REG NACK for " | 927 | printk(KERN_ERR "ds-%llu: REG NACK for " |
928 | "unknown handle %lx\n", | 928 | "unknown handle %llx\n", |
929 | dp->id, np->handle); | 929 | dp->id, np->handle); |
930 | return 0; | 930 | return 0; |
931 | } | 931 | } |
@@ -982,8 +982,8 @@ static void process_ds_work(void) | |||
982 | int req_len = qp->req_len; | 982 | int req_len = qp->req_len; |
983 | 983 | ||
984 | if (!cp) { | 984 | if (!cp) { |
985 | printk(KERN_ERR "ds-%lu: Data for unknown " | 985 | printk(KERN_ERR "ds-%llu: Data for unknown " |
986 | "handle %lu\n", | 986 | "handle %llu\n", |
987 | dp->id, dpkt->handle); | 987 | dp->id, dpkt->handle); |
988 | 988 | ||
989 | spin_lock_irqsave(&ds_lock, flags); | 989 | spin_lock_irqsave(&ds_lock, flags); |
@@ -1085,7 +1085,7 @@ static void ds_event(void *arg, int event) | |||
1085 | } | 1085 | } |
1086 | 1086 | ||
1087 | if (event != LDC_EVENT_DATA_READY) { | 1087 | if (event != LDC_EVENT_DATA_READY) { |
1088 | printk(KERN_WARNING "ds-%lu: Unexpected LDC event %d\n", | 1088 | printk(KERN_WARNING "ds-%llu: Unexpected LDC event %d\n", |
1089 | dp->id, event); | 1089 | dp->id, event); |
1090 | spin_unlock_irqrestore(&ds_lock, flags); | 1090 | spin_unlock_irqrestore(&ds_lock, flags); |
1091 | return; | 1091 | return; |
diff --git a/arch/sparc/kernel/iommu.c b/arch/sparc/kernel/iommu.c index 1cc1995531e2..d8900e1d5aad 100644 --- a/arch/sparc/kernel/iommu.c +++ b/arch/sparc/kernel/iommu.c | |||
@@ -434,7 +434,7 @@ static void strbuf_flush(struct strbuf *strbuf, struct iommu *iommu, | |||
434 | val = iommu_read(matchreg); | 434 | val = iommu_read(matchreg); |
435 | if (unlikely(val)) { | 435 | if (unlikely(val)) { |
436 | printk(KERN_WARNING "strbuf_flush: ctx flush " | 436 | printk(KERN_WARNING "strbuf_flush: ctx flush " |
437 | "timeout matchreg[%lx] ctx[%lx]\n", | 437 | "timeout matchreg[%llx] ctx[%lx]\n", |
438 | val, ctx); | 438 | val, ctx); |
439 | goto do_page_flush; | 439 | goto do_page_flush; |
440 | } | 440 | } |
diff --git a/arch/sparc/kernel/ldc.c b/arch/sparc/kernel/ldc.c index d68982330f66..6ce5d2598a09 100644 --- a/arch/sparc/kernel/ldc.c +++ b/arch/sparc/kernel/ldc.c | |||
@@ -625,22 +625,23 @@ static int process_ver_ack(struct ldc_channel *lp, struct ldc_version *vp) | |||
625 | static int process_ver_nack(struct ldc_channel *lp, struct ldc_version *vp) | 625 | static int process_ver_nack(struct ldc_channel *lp, struct ldc_version *vp) |
626 | { | 626 | { |
627 | struct ldc_version *vap; | 627 | struct ldc_version *vap; |
628 | struct ldc_packet *p; | ||
629 | unsigned long new_tail; | ||
628 | 630 | ||
629 | if ((vp->major == 0 && vp->minor == 0) || | 631 | if (vp->major == 0 && vp->minor == 0) |
630 | !(vap = find_by_major(vp->major))) { | 632 | return ldc_abort(lp); |
633 | |||
634 | vap = find_by_major(vp->major); | ||
635 | if (!vap) | ||
631 | return ldc_abort(lp); | 636 | return ldc_abort(lp); |
632 | } else { | ||
633 | struct ldc_packet *p; | ||
634 | unsigned long new_tail; | ||
635 | 637 | ||
636 | p = handshake_compose_ctrl(lp, LDC_INFO, LDC_VERS, | 638 | p = handshake_compose_ctrl(lp, LDC_INFO, LDC_VERS, |
637 | vap, sizeof(*vap), | 639 | vap, sizeof(*vap), |
638 | &new_tail); | 640 | &new_tail); |
639 | if (p) | 641 | if (!p) |
640 | return send_tx_packet(lp, p, new_tail); | 642 | return ldc_abort(lp); |
641 | else | 643 | |
642 | return ldc_abort(lp); | 644 | return send_tx_packet(lp, p, new_tail); |
643 | } | ||
644 | } | 645 | } |
645 | 646 | ||
646 | static int process_version(struct ldc_channel *lp, | 647 | static int process_version(struct ldc_channel *lp, |
diff --git a/arch/sparc/kernel/mdesc.c b/arch/sparc/kernel/mdesc.c index 3c539a6d7c18..3f79f0c23a08 100644 --- a/arch/sparc/kernel/mdesc.c +++ b/arch/sparc/kernel/mdesc.c | |||
@@ -536,24 +536,24 @@ static void __init report_platform_properties(void) | |||
536 | 536 | ||
537 | v = mdesc_get_property(hp, pn, "hostid", NULL); | 537 | v = mdesc_get_property(hp, pn, "hostid", NULL); |
538 | if (v) | 538 | if (v) |
539 | printk("PLATFORM: hostid [%08lx]\n", *v); | 539 | printk("PLATFORM: hostid [%08llx]\n", *v); |
540 | v = mdesc_get_property(hp, pn, "serial#", NULL); | 540 | v = mdesc_get_property(hp, pn, "serial#", NULL); |
541 | if (v) | 541 | if (v) |
542 | printk("PLATFORM: serial# [%08lx]\n", *v); | 542 | printk("PLATFORM: serial# [%08llx]\n", *v); |
543 | v = mdesc_get_property(hp, pn, "stick-frequency", NULL); | 543 | v = mdesc_get_property(hp, pn, "stick-frequency", NULL); |
544 | printk("PLATFORM: stick-frequency [%08lx]\n", *v); | 544 | printk("PLATFORM: stick-frequency [%08llx]\n", *v); |
545 | v = mdesc_get_property(hp, pn, "mac-address", NULL); | 545 | v = mdesc_get_property(hp, pn, "mac-address", NULL); |
546 | if (v) | 546 | if (v) |
547 | printk("PLATFORM: mac-address [%lx]\n", *v); | 547 | printk("PLATFORM: mac-address [%llx]\n", *v); |
548 | v = mdesc_get_property(hp, pn, "watchdog-resolution", NULL); | 548 | v = mdesc_get_property(hp, pn, "watchdog-resolution", NULL); |
549 | if (v) | 549 | if (v) |
550 | printk("PLATFORM: watchdog-resolution [%lu ms]\n", *v); | 550 | printk("PLATFORM: watchdog-resolution [%llu ms]\n", *v); |
551 | v = mdesc_get_property(hp, pn, "watchdog-max-timeout", NULL); | 551 | v = mdesc_get_property(hp, pn, "watchdog-max-timeout", NULL); |
552 | if (v) | 552 | if (v) |
553 | printk("PLATFORM: watchdog-max-timeout [%lu ms]\n", *v); | 553 | printk("PLATFORM: watchdog-max-timeout [%llu ms]\n", *v); |
554 | v = mdesc_get_property(hp, pn, "max-cpus", NULL); | 554 | v = mdesc_get_property(hp, pn, "max-cpus", NULL); |
555 | if (v) | 555 | if (v) |
556 | printk("PLATFORM: max-cpus [%lu]\n", *v); | 556 | printk("PLATFORM: max-cpus [%llu]\n", *v); |
557 | 557 | ||
558 | #ifdef CONFIG_SMP | 558 | #ifdef CONFIG_SMP |
559 | { | 559 | { |
diff --git a/arch/sparc/kernel/of_device_64.c b/arch/sparc/kernel/of_device_64.c index 4873f28905b0..b4a12c9aa5f8 100644 --- a/arch/sparc/kernel/of_device_64.c +++ b/arch/sparc/kernel/of_device_64.c | |||
@@ -554,7 +554,7 @@ static void __init build_device_resources(struct of_device *op, | |||
554 | memset(r, 0, sizeof(*r)); | 554 | memset(r, 0, sizeof(*r)); |
555 | 555 | ||
556 | if (of_resource_verbose) | 556 | if (of_resource_verbose) |
557 | printk("%s reg[%d] -> %lx\n", | 557 | printk("%s reg[%d] -> %llx\n", |
558 | op->node->full_name, index, | 558 | op->node->full_name, index, |
559 | result); | 559 | result); |
560 | 560 | ||
diff --git a/arch/sparc/kernel/pci.c b/arch/sparc/kernel/pci.c index bdb7c0a6d83d..923e9bbb9fe2 100644 --- a/arch/sparc/kernel/pci.c +++ b/arch/sparc/kernel/pci.c | |||
@@ -223,7 +223,7 @@ static void pci_parse_of_addrs(struct of_device *op, | |||
223 | continue; | 223 | continue; |
224 | i = addrs[0] & 0xff; | 224 | i = addrs[0] & 0xff; |
225 | if (ofpci_verbose) | 225 | if (ofpci_verbose) |
226 | printk(" start: %lx, end: %lx, i: %x\n", | 226 | printk(" start: %llx, end: %llx, i: %x\n", |
227 | op_res->start, op_res->end, i); | 227 | op_res->start, op_res->end, i); |
228 | 228 | ||
229 | if (PCI_BASE_ADDRESS_0 <= i && i <= PCI_BASE_ADDRESS_5) { | 229 | if (PCI_BASE_ADDRESS_0 <= i && i <= PCI_BASE_ADDRESS_5) { |
diff --git a/arch/sparc/kernel/pci_common.c b/arch/sparc/kernel/pci_common.c index 23b88082d0b2..64e6edf17b9d 100644 --- a/arch/sparc/kernel/pci_common.c +++ b/arch/sparc/kernel/pci_common.c | |||
@@ -457,7 +457,7 @@ void pci_determine_mem_io_space(struct pci_pbm_info *pbm) | |||
457 | prom_halt(); | 457 | prom_halt(); |
458 | } | 458 | } |
459 | 459 | ||
460 | printk("%s: PCI IO[%lx] MEM[%lx]\n", | 460 | printk("%s: PCI IO[%llx] MEM[%llx]\n", |
461 | pbm->name, | 461 | pbm->name, |
462 | pbm->io_space.start, | 462 | pbm->io_space.start, |
463 | pbm->mem_space.start); | 463 | pbm->mem_space.start); |
diff --git a/arch/sparc/kernel/pci_msi.c b/arch/sparc/kernel/pci_msi.c index 4ef282e81912..f1be37a7b123 100644 --- a/arch/sparc/kernel/pci_msi.c +++ b/arch/sparc/kernel/pci_msi.c | |||
@@ -426,8 +426,8 @@ void sparc64_pbm_msi_init(struct pci_pbm_info *pbm, | |||
426 | pbm->name, | 426 | pbm->name, |
427 | pbm->msi_first, pbm->msi_num, pbm->msi_data_mask, | 427 | pbm->msi_first, pbm->msi_num, pbm->msi_data_mask, |
428 | pbm->msix_data_width); | 428 | pbm->msix_data_width); |
429 | printk(KERN_INFO "%s: MSI addr32[0x%lx:0x%x] " | 429 | printk(KERN_INFO "%s: MSI addr32[0x%llx:0x%x] " |
430 | "addr64[0x%lx:0x%x]\n", | 430 | "addr64[0x%llx:0x%x]\n", |
431 | pbm->name, | 431 | pbm->name, |
432 | pbm->msi32_start, pbm->msi32_len, | 432 | pbm->msi32_start, pbm->msi32_len, |
433 | pbm->msi64_start, pbm->msi64_len); | 433 | pbm->msi64_start, pbm->msi64_len); |
diff --git a/arch/sparc/kernel/pci_schizo.c b/arch/sparc/kernel/pci_schizo.c index 45d9dba1ba11..2b5cdde77af7 100644 --- a/arch/sparc/kernel/pci_schizo.c +++ b/arch/sparc/kernel/pci_schizo.c | |||
@@ -794,7 +794,7 @@ static irqreturn_t schizo_safarierr_intr(int irq, void *dev_id) | |||
794 | pbm->controller_regs + SCHIZO_SAFARI_ERRLOG); | 794 | pbm->controller_regs + SCHIZO_SAFARI_ERRLOG); |
795 | 795 | ||
796 | if (!(errlog & BUS_ERROR_UNMAP)) { | 796 | if (!(errlog & BUS_ERROR_UNMAP)) { |
797 | printk("%s: Unexpected Safari/JBUS error interrupt, errlog[%016lx]\n", | 797 | printk("%s: Unexpected Safari/JBUS error interrupt, errlog[%016llx]\n", |
798 | pbm->name, errlog); | 798 | pbm->name, errlog); |
799 | 799 | ||
800 | return IRQ_HANDLED; | 800 | return IRQ_HANDLED; |
diff --git a/arch/sparc/kernel/pci_sun4v.c b/arch/sparc/kernel/pci_sun4v.c index 34a1fded3941..0ef0ab3d4763 100644 --- a/arch/sparc/kernel/pci_sun4v.c +++ b/arch/sparc/kernel/pci_sun4v.c | |||
@@ -73,7 +73,7 @@ static long iommu_batch_flush(struct iommu_batch *p) | |||
73 | if (unlikely(num < 0)) { | 73 | if (unlikely(num < 0)) { |
74 | if (printk_ratelimit()) | 74 | if (printk_ratelimit()) |
75 | printk("iommu_batch_flush: IOMMU map of " | 75 | printk("iommu_batch_flush: IOMMU map of " |
76 | "[%08lx:%08lx:%lx:%lx:%lx] failed with " | 76 | "[%08lx:%08llx:%lx:%lx:%lx] failed with " |
77 | "status %ld\n", | 77 | "status %ld\n", |
78 | devhandle, HV_PCI_TSBID(0, entry), | 78 | devhandle, HV_PCI_TSBID(0, entry), |
79 | npages, prot, __pa(pglist), num); | 79 | npages, prot, __pa(pglist), num); |
diff --git a/arch/sparc/kernel/power.c b/arch/sparc/kernel/power.c index 076cad7f9757..ae88f06a7ec4 100644 --- a/arch/sparc/kernel/power.c +++ b/arch/sparc/kernel/power.c | |||
@@ -40,7 +40,7 @@ static int __devinit power_probe(struct of_device *op, const struct of_device_id | |||
40 | 40 | ||
41 | power_reg = of_ioremap(res, 0, 0x4, "power"); | 41 | power_reg = of_ioremap(res, 0, 0x4, "power"); |
42 | 42 | ||
43 | printk(KERN_INFO "%s: Control reg at %lx\n", | 43 | printk(KERN_INFO "%s: Control reg at %llx\n", |
44 | op->node->name, res->start); | 44 | op->node->name, res->start); |
45 | 45 | ||
46 | if (has_button_interrupt(irq, op->node)) { | 46 | if (has_button_interrupt(irq, op->node)) { |
diff --git a/arch/sparc/kernel/prom_irqtrans.c b/arch/sparc/kernel/prom_irqtrans.c index 96958c4dce8e..5702ad4710cb 100644 --- a/arch/sparc/kernel/prom_irqtrans.c +++ b/arch/sparc/kernel/prom_irqtrans.c | |||
@@ -346,7 +346,7 @@ static void tomatillo_wsync_handler(unsigned int ino, void *_arg1, void *_arg2) | |||
346 | break; | 346 | break; |
347 | } | 347 | } |
348 | if (limit <= 0) { | 348 | if (limit <= 0) { |
349 | printk("tomatillo_wsync_handler: DMA won't sync [%lx:%lx]\n", | 349 | printk("tomatillo_wsync_handler: DMA won't sync [%llx:%llx]\n", |
350 | val, mask); | 350 | val, mask); |
351 | } | 351 | } |
352 | 352 | ||
diff --git a/arch/sparc/kernel/psycho_common.c b/arch/sparc/kernel/psycho_common.c index 790996428c14..40689ae3c9b0 100644 --- a/arch/sparc/kernel/psycho_common.c +++ b/arch/sparc/kernel/psycho_common.c | |||
@@ -94,7 +94,7 @@ static void psycho_check_stc_error(struct pci_pbm_info *pbm) | |||
94 | if (saw_error != 0) { | 94 | if (saw_error != 0) { |
95 | u64 tagval = stc_tag_buf[i]; | 95 | u64 tagval = stc_tag_buf[i]; |
96 | u64 lineval = stc_line_buf[i]; | 96 | u64 lineval = stc_line_buf[i]; |
97 | printk(KERN_ERR "%s: STC_TAG(%d)[PA(%016lx)VA(%08lx)" | 97 | printk(KERN_ERR "%s: STC_TAG(%d)[PA(%016llx)VA(%08llx)" |
98 | "V(%d)W(%d)]\n", | 98 | "V(%d)W(%d)]\n", |
99 | pbm->name, | 99 | pbm->name, |
100 | i, | 100 | i, |
@@ -102,8 +102,8 @@ static void psycho_check_stc_error(struct pci_pbm_info *pbm) | |||
102 | (tagval & PSYCHO_STCTAG_VPN), | 102 | (tagval & PSYCHO_STCTAG_VPN), |
103 | ((tagval & PSYCHO_STCTAG_VALID) ? 1 : 0), | 103 | ((tagval & PSYCHO_STCTAG_VALID) ? 1 : 0), |
104 | ((tagval & PSYCHO_STCTAG_WRITE) ? 1 : 0)); | 104 | ((tagval & PSYCHO_STCTAG_WRITE) ? 1 : 0)); |
105 | printk(KERN_ERR "%s: STC_LINE(%d)[LIDX(%lx)SP(%lx)" | 105 | printk(KERN_ERR "%s: STC_LINE(%d)[LIDX(%llx)SP(%llx)" |
106 | "LADDR(%lx)EP(%lx)V(%d)FOFN(%d)]\n", | 106 | "LADDR(%llx)EP(%llx)V(%d)FOFN(%d)]\n", |
107 | pbm->name, | 107 | pbm->name, |
108 | i, | 108 | i, |
109 | ((lineval & PSYCHO_STCLINE_LINDX) >> 21UL), | 109 | ((lineval & PSYCHO_STCLINE_LINDX) >> 21UL), |
@@ -179,14 +179,14 @@ static void psycho_dump_iommu_tags_and_data(struct pci_pbm_info *pbm, | |||
179 | } | 179 | } |
180 | 180 | ||
181 | printk(KERN_ERR "%s: IOMMU TAG(%d)[error(%s) wr(%d) " | 181 | printk(KERN_ERR "%s: IOMMU TAG(%d)[error(%s) wr(%d) " |
182 | "str(%d) sz(%dK) vpg(%08lx)]\n", | 182 | "str(%d) sz(%dK) vpg(%08llx)]\n", |
183 | pbm->name, i, type_str, | 183 | pbm->name, i, type_str, |
184 | ((tag_val & PSYCHO_IOMMU_TAG_WRITE) ? 1 : 0), | 184 | ((tag_val & PSYCHO_IOMMU_TAG_WRITE) ? 1 : 0), |
185 | ((tag_val & PSYCHO_IOMMU_TAG_STREAM) ? 1 : 0), | 185 | ((tag_val & PSYCHO_IOMMU_TAG_STREAM) ? 1 : 0), |
186 | ((tag_val & PSYCHO_IOMMU_TAG_SIZE) ? 64 : 8), | 186 | ((tag_val & PSYCHO_IOMMU_TAG_SIZE) ? 64 : 8), |
187 | (tag_val & PSYCHO_IOMMU_TAG_VPAGE) << IOMMU_PAGE_SHIFT); | 187 | (tag_val & PSYCHO_IOMMU_TAG_VPAGE) << IOMMU_PAGE_SHIFT); |
188 | printk(KERN_ERR "%s: IOMMU DATA(%d)[valid(%d) cache(%d) " | 188 | printk(KERN_ERR "%s: IOMMU DATA(%d)[valid(%d) cache(%d) " |
189 | "ppg(%016lx)]\n", | 189 | "ppg(%016llx)]\n", |
190 | pbm->name, i, | 190 | pbm->name, i, |
191 | ((data_val & PSYCHO_IOMMU_DATA_VALID) ? 1 : 0), | 191 | ((data_val & PSYCHO_IOMMU_DATA_VALID) ? 1 : 0), |
192 | ((data_val & PSYCHO_IOMMU_DATA_CACHE) ? 1 : 0), | 192 | ((data_val & PSYCHO_IOMMU_DATA_CACHE) ? 1 : 0), |
@@ -326,12 +326,12 @@ irqreturn_t psycho_pcierr_intr(int irq, void *dev_id) | |||
326 | "Excessive Retries" : | 326 | "Excessive Retries" : |
327 | ((error_bits & PSYCHO_PCIAFSR_PPERR) ? | 327 | ((error_bits & PSYCHO_PCIAFSR_PPERR) ? |
328 | "Parity Error" : "???")))))); | 328 | "Parity Error" : "???")))))); |
329 | printk(KERN_ERR "%s: bytemask[%04lx] UPA_MID[%02lx] was_block(%d)\n", | 329 | printk(KERN_ERR "%s: bytemask[%04llx] UPA_MID[%02llx] was_block(%d)\n", |
330 | pbm->name, | 330 | pbm->name, |
331 | (afsr & PSYCHO_PCIAFSR_BMSK) >> 32UL, | 331 | (afsr & PSYCHO_PCIAFSR_BMSK) >> 32UL, |
332 | (afsr & PSYCHO_PCIAFSR_MID) >> 25UL, | 332 | (afsr & PSYCHO_PCIAFSR_MID) >> 25UL, |
333 | (afsr & PSYCHO_PCIAFSR_BLK) ? 1 : 0); | 333 | (afsr & PSYCHO_PCIAFSR_BLK) ? 1 : 0); |
334 | printk(KERN_ERR "%s: PCI AFAR [%016lx]\n", pbm->name, afar); | 334 | printk(KERN_ERR "%s: PCI AFAR [%016llx]\n", pbm->name, afar); |
335 | printk(KERN_ERR "%s: PCI Secondary errors [", pbm->name); | 335 | printk(KERN_ERR "%s: PCI Secondary errors [", pbm->name); |
336 | reported = 0; | 336 | reported = 0; |
337 | if (afsr & PSYCHO_PCIAFSR_SMA) { | 337 | if (afsr & PSYCHO_PCIAFSR_SMA) { |
diff --git a/arch/sparc/kernel/smp_64.c b/arch/sparc/kernel/smp_64.c index 46329799f346..6cd1a5b65067 100644 --- a/arch/sparc/kernel/smp_64.c +++ b/arch/sparc/kernel/smp_64.c | |||
@@ -449,7 +449,7 @@ again: | |||
449 | __asm__ __volatile__("wrpr %0, 0x0, %%pstate" | 449 | __asm__ __volatile__("wrpr %0, 0x0, %%pstate" |
450 | : : "r" (pstate)); | 450 | : : "r" (pstate)); |
451 | if (stuck == 0) { | 451 | if (stuck == 0) { |
452 | printk("CPU[%d]: mondo stuckage result[%016lx]\n", | 452 | printk("CPU[%d]: mondo stuckage result[%016llx]\n", |
453 | smp_processor_id(), result); | 453 | smp_processor_id(), result); |
454 | } else { | 454 | } else { |
455 | udelay(2); | 455 | udelay(2); |
@@ -584,7 +584,7 @@ retry: | |||
584 | /* Busy bits will not clear, continue instead | 584 | /* Busy bits will not clear, continue instead |
585 | * of freezing up on this cpu. | 585 | * of freezing up on this cpu. |
586 | */ | 586 | */ |
587 | printk("CPU[%d]: mondo stuckage result[%016lx]\n", | 587 | printk("CPU[%d]: mondo stuckage result[%016llx]\n", |
588 | smp_processor_id(), dispatch_stat); | 588 | smp_processor_id(), dispatch_stat); |
589 | } else { | 589 | } else { |
590 | int i, this_busy_nack = 0; | 590 | int i, this_busy_nack = 0; |
diff --git a/arch/sparc/kernel/time_64.c b/arch/sparc/kernel/time_64.c index 9df8f095a8b1..54405d362148 100644 --- a/arch/sparc/kernel/time_64.c +++ b/arch/sparc/kernel/time_64.c | |||
@@ -106,7 +106,7 @@ static void tick_init_tick(void) | |||
106 | tick_disable_irq(); | 106 | tick_disable_irq(); |
107 | } | 107 | } |
108 | 108 | ||
109 | static unsigned long tick_get_tick(void) | 109 | static unsigned long long tick_get_tick(void) |
110 | { | 110 | { |
111 | unsigned long ret; | 111 | unsigned long ret; |
112 | 112 | ||
@@ -208,7 +208,7 @@ static void stick_init_tick(void) | |||
208 | stick_disable_irq(); | 208 | stick_disable_irq(); |
209 | } | 209 | } |
210 | 210 | ||
211 | static unsigned long stick_get_tick(void) | 211 | static unsigned long long stick_get_tick(void) |
212 | { | 212 | { |
213 | unsigned long ret; | 213 | unsigned long ret; |
214 | 214 | ||
@@ -352,7 +352,7 @@ static void hbtick_init_tick(void) | |||
352 | hbtick_disable_irq(); | 352 | hbtick_disable_irq(); |
353 | } | 353 | } |
354 | 354 | ||
355 | static unsigned long hbtick_get_tick(void) | 355 | static unsigned long long hbtick_get_tick(void) |
356 | { | 356 | { |
357 | return __hbird_read_stick() & ~TICK_PRIV_BIT; | 357 | return __hbird_read_stick() & ~TICK_PRIV_BIT; |
358 | } | 358 | } |
@@ -422,7 +422,7 @@ static int __devinit rtc_probe(struct of_device *op, const struct of_device_id * | |||
422 | { | 422 | { |
423 | struct resource *r; | 423 | struct resource *r; |
424 | 424 | ||
425 | printk(KERN_INFO "%s: RTC regs at 0x%lx\n", | 425 | printk(KERN_INFO "%s: RTC regs at 0x%llx\n", |
426 | op->node->full_name, op->resource[0].start); | 426 | op->node->full_name, op->resource[0].start); |
427 | 427 | ||
428 | /* The CMOS RTC driver only accepts IORESOURCE_IO, so cons | 428 | /* The CMOS RTC driver only accepts IORESOURCE_IO, so cons |
@@ -478,7 +478,7 @@ static struct platform_device rtc_bq4802_device = { | |||
478 | static int __devinit bq4802_probe(struct of_device *op, const struct of_device_id *match) | 478 | static int __devinit bq4802_probe(struct of_device *op, const struct of_device_id *match) |
479 | { | 479 | { |
480 | 480 | ||
481 | printk(KERN_INFO "%s: BQ4802 regs at 0x%lx\n", | 481 | printk(KERN_INFO "%s: BQ4802 regs at 0x%llx\n", |
482 | op->node->full_name, op->resource[0].start); | 482 | op->node->full_name, op->resource[0].start); |
483 | 483 | ||
484 | rtc_bq4802_device.resource = &op->resource[0]; | 484 | rtc_bq4802_device.resource = &op->resource[0]; |
@@ -542,7 +542,7 @@ static int __devinit mostek_probe(struct of_device *op, const struct of_device_i | |||
542 | strcmp(dp->parent->parent->name, "central") != 0) | 542 | strcmp(dp->parent->parent->name, "central") != 0) |
543 | return -ENODEV; | 543 | return -ENODEV; |
544 | 544 | ||
545 | printk(KERN_INFO "%s: Mostek regs at 0x%lx\n", | 545 | printk(KERN_INFO "%s: Mostek regs at 0x%llx\n", |
546 | dp->full_name, op->resource[0].start); | 546 | dp->full_name, op->resource[0].start); |
547 | 547 | ||
548 | m48t59_rtc.resource = &op->resource[0]; | 548 | m48t59_rtc.resource = &op->resource[0]; |
diff --git a/arch/sparc/kernel/traps_64.c b/arch/sparc/kernel/traps_64.c index 4638af2f55a0..bca3b4e09c41 100644 --- a/arch/sparc/kernel/traps_64.c +++ b/arch/sparc/kernel/traps_64.c | |||
@@ -1168,20 +1168,20 @@ static void cheetah_log_errors(struct pt_regs *regs, struct cheetah_err_info *in | |||
1168 | } | 1168 | } |
1169 | 1169 | ||
1170 | /* Now dump the cache snapshots. */ | 1170 | /* Now dump the cache snapshots. */ |
1171 | printk("%s" "ERROR(%d): D-cache idx[%x] tag[%016lx] utag[%016lx] stag[%016lx]\n", | 1171 | printk("%s" "ERROR(%d): D-cache idx[%x] tag[%016llx] utag[%016llx] stag[%016llx]\n", |
1172 | (recoverable ? KERN_WARNING : KERN_CRIT), smp_processor_id(), | 1172 | (recoverable ? KERN_WARNING : KERN_CRIT), smp_processor_id(), |
1173 | (int) info->dcache_index, | 1173 | (int) info->dcache_index, |
1174 | info->dcache_tag, | 1174 | info->dcache_tag, |
1175 | info->dcache_utag, | 1175 | info->dcache_utag, |
1176 | info->dcache_stag); | 1176 | info->dcache_stag); |
1177 | printk("%s" "ERROR(%d): D-cache data0[%016lx] data1[%016lx] data2[%016lx] data3[%016lx]\n", | 1177 | printk("%s" "ERROR(%d): D-cache data0[%016llx] data1[%016llx] data2[%016llx] data3[%016llx]\n", |
1178 | (recoverable ? KERN_WARNING : KERN_CRIT), smp_processor_id(), | 1178 | (recoverable ? KERN_WARNING : KERN_CRIT), smp_processor_id(), |
1179 | info->dcache_data[0], | 1179 | info->dcache_data[0], |
1180 | info->dcache_data[1], | 1180 | info->dcache_data[1], |
1181 | info->dcache_data[2], | 1181 | info->dcache_data[2], |
1182 | info->dcache_data[3]); | 1182 | info->dcache_data[3]); |
1183 | printk("%s" "ERROR(%d): I-cache idx[%x] tag[%016lx] utag[%016lx] stag[%016lx] " | 1183 | printk("%s" "ERROR(%d): I-cache idx[%x] tag[%016llx] utag[%016llx] stag[%016llx] " |
1184 | "u[%016lx] l[%016lx]\n", | 1184 | "u[%016llx] l[%016llx]\n", |
1185 | (recoverable ? KERN_WARNING : KERN_CRIT), smp_processor_id(), | 1185 | (recoverable ? KERN_WARNING : KERN_CRIT), smp_processor_id(), |
1186 | (int) info->icache_index, | 1186 | (int) info->icache_index, |
1187 | info->icache_tag, | 1187 | info->icache_tag, |
@@ -1189,22 +1189,22 @@ static void cheetah_log_errors(struct pt_regs *regs, struct cheetah_err_info *in | |||
1189 | info->icache_stag, | 1189 | info->icache_stag, |
1190 | info->icache_upper, | 1190 | info->icache_upper, |
1191 | info->icache_lower); | 1191 | info->icache_lower); |
1192 | printk("%s" "ERROR(%d): I-cache INSN0[%016lx] INSN1[%016lx] INSN2[%016lx] INSN3[%016lx]\n", | 1192 | printk("%s" "ERROR(%d): I-cache INSN0[%016llx] INSN1[%016llx] INSN2[%016llx] INSN3[%016llx]\n", |
1193 | (recoverable ? KERN_WARNING : KERN_CRIT), smp_processor_id(), | 1193 | (recoverable ? KERN_WARNING : KERN_CRIT), smp_processor_id(), |
1194 | info->icache_data[0], | 1194 | info->icache_data[0], |
1195 | info->icache_data[1], | 1195 | info->icache_data[1], |
1196 | info->icache_data[2], | 1196 | info->icache_data[2], |
1197 | info->icache_data[3]); | 1197 | info->icache_data[3]); |
1198 | printk("%s" "ERROR(%d): I-cache INSN4[%016lx] INSN5[%016lx] INSN6[%016lx] INSN7[%016lx]\n", | 1198 | printk("%s" "ERROR(%d): I-cache INSN4[%016llx] INSN5[%016llx] INSN6[%016llx] INSN7[%016llx]\n", |
1199 | (recoverable ? KERN_WARNING : KERN_CRIT), smp_processor_id(), | 1199 | (recoverable ? KERN_WARNING : KERN_CRIT), smp_processor_id(), |
1200 | info->icache_data[4], | 1200 | info->icache_data[4], |
1201 | info->icache_data[5], | 1201 | info->icache_data[5], |
1202 | info->icache_data[6], | 1202 | info->icache_data[6], |
1203 | info->icache_data[7]); | 1203 | info->icache_data[7]); |
1204 | printk("%s" "ERROR(%d): E-cache idx[%x] tag[%016lx]\n", | 1204 | printk("%s" "ERROR(%d): E-cache idx[%x] tag[%016llx]\n", |
1205 | (recoverable ? KERN_WARNING : KERN_CRIT), smp_processor_id(), | 1205 | (recoverable ? KERN_WARNING : KERN_CRIT), smp_processor_id(), |
1206 | (int) info->ecache_index, info->ecache_tag); | 1206 | (int) info->ecache_index, info->ecache_tag); |
1207 | printk("%s" "ERROR(%d): E-cache data0[%016lx] data1[%016lx] data2[%016lx] data3[%016lx]\n", | 1207 | printk("%s" "ERROR(%d): E-cache data0[%016llx] data1[%016llx] data2[%016llx] data3[%016llx]\n", |
1208 | (recoverable ? KERN_WARNING : KERN_CRIT), smp_processor_id(), | 1208 | (recoverable ? KERN_WARNING : KERN_CRIT), smp_processor_id(), |
1209 | info->ecache_data[0], | 1209 | info->ecache_data[0], |
1210 | info->ecache_data[1], | 1210 | info->ecache_data[1], |
@@ -1794,7 +1794,7 @@ static void sun4v_log_error(struct pt_regs *regs, struct sun4v_error_entry *ent, | |||
1794 | int cnt; | 1794 | int cnt; |
1795 | 1795 | ||
1796 | printk("%s: Reporting on cpu %d\n", pfx, cpu); | 1796 | printk("%s: Reporting on cpu %d\n", pfx, cpu); |
1797 | printk("%s: err_handle[%lx] err_stick[%lx] err_type[%08x:%s]\n", | 1797 | printk("%s: err_handle[%llx] err_stick[%llx] err_type[%08x:%s]\n", |
1798 | pfx, | 1798 | pfx, |
1799 | ent->err_handle, ent->err_stick, | 1799 | ent->err_handle, ent->err_stick, |
1800 | ent->err_type, | 1800 | ent->err_type, |
@@ -1818,7 +1818,7 @@ static void sun4v_log_error(struct pt_regs *regs, struct sun4v_error_entry *ent, | |||
1818 | "privileged" : ""), | 1818 | "privileged" : ""), |
1819 | ((ent->err_attrs & SUN4V_ERR_ATTRS_RES_QUEUE_FULL) ? | 1819 | ((ent->err_attrs & SUN4V_ERR_ATTRS_RES_QUEUE_FULL) ? |
1820 | "queue-full" : "")); | 1820 | "queue-full" : "")); |
1821 | printk("%s: err_raddr[%016lx] err_size[%u] err_cpu[%u]\n", | 1821 | printk("%s: err_raddr[%016llx] err_size[%u] err_cpu[%u]\n", |
1822 | pfx, | 1822 | pfx, |
1823 | ent->err_raddr, ent->err_size, ent->err_cpu); | 1823 | ent->err_raddr, ent->err_size, ent->err_cpu); |
1824 | 1824 | ||
diff --git a/arch/sparc/kernel/unaligned_64.c b/arch/sparc/kernel/unaligned_64.c index 203ddfad9f27..f164d5a850f9 100644 --- a/arch/sparc/kernel/unaligned_64.c +++ b/arch/sparc/kernel/unaligned_64.c | |||
@@ -601,11 +601,15 @@ void handle_lddfmna(struct pt_regs *regs, unsigned long sfar, unsigned long sfsr | |||
601 | pc = (u32)pc; | 601 | pc = (u32)pc; |
602 | if (get_user(insn, (u32 __user *) pc) != -EFAULT) { | 602 | if (get_user(insn, (u32 __user *) pc) != -EFAULT) { |
603 | int asi = decode_asi(insn, regs); | 603 | int asi = decode_asi(insn, regs); |
604 | int err; | ||
605 | |||
604 | if ((asi > ASI_SNFL) || | 606 | if ((asi > ASI_SNFL) || |
605 | (asi < ASI_P)) | 607 | (asi < ASI_P)) |
606 | goto daex; | 608 | goto daex; |
607 | if (get_user(first, (u32 __user *)sfar) || | 609 | err = get_user(first, (u32 __user *)sfar); |
608 | get_user(second, (u32 __user *)(sfar + 4))) { | 610 | if (!err) |
611 | err = get_user(second, (u32 __user *)(sfar + 4)); | ||
612 | if (err) { | ||
609 | if (asi & 0x2) /* NF */ { | 613 | if (asi & 0x2) /* NF */ { |
610 | first = 0; second = 0; | 614 | first = 0; second = 0; |
611 | } else | 615 | } else |
diff --git a/arch/sparc/kernel/vio.c b/arch/sparc/kernel/vio.c index 92b1f8ec01de..753d128ed158 100644 --- a/arch/sparc/kernel/vio.c +++ b/arch/sparc/kernel/vio.c | |||
@@ -263,10 +263,10 @@ static struct vio_dev *vio_create_one(struct mdesc_handle *hp, u64 mp, | |||
263 | dev_set_name(&vdev->dev, "%s", bus_id_name); | 263 | dev_set_name(&vdev->dev, "%s", bus_id_name); |
264 | vdev->dev_no = ~(u64)0; | 264 | vdev->dev_no = ~(u64)0; |
265 | } else if (!cfg_handle) { | 265 | } else if (!cfg_handle) { |
266 | dev_set_name(&vdev->dev, "%s-%lu", bus_id_name, *id); | 266 | dev_set_name(&vdev->dev, "%s-%llu", bus_id_name, *id); |
267 | vdev->dev_no = *id; | 267 | vdev->dev_no = *id; |
268 | } else { | 268 | } else { |
269 | dev_set_name(&vdev->dev, "%s-%lu-%lu", bus_id_name, | 269 | dev_set_name(&vdev->dev, "%s-%llu-%llu", bus_id_name, |
270 | *cfg_handle, *id); | 270 | *cfg_handle, *id); |
271 | vdev->dev_no = *cfg_handle; | 271 | vdev->dev_no = *cfg_handle; |
272 | } | 272 | } |
diff --git a/arch/sparc/kernel/viohs.c b/arch/sparc/kernel/viohs.c index 708fa1705fbe..aa6ac70d4fd5 100644 --- a/arch/sparc/kernel/viohs.c +++ b/arch/sparc/kernel/viohs.c | |||
@@ -337,8 +337,10 @@ static int process_ver_nack(struct vio_driver_state *vio, | |||
337 | viodbg(HS, "GOT VERSION NACK maj[%u] min[%u] devclass[%u]\n", | 337 | viodbg(HS, "GOT VERSION NACK maj[%u] min[%u] devclass[%u]\n", |
338 | pkt->major, pkt->minor, pkt->dev_class); | 338 | pkt->major, pkt->minor, pkt->dev_class); |
339 | 339 | ||
340 | if ((pkt->major == 0 && pkt->minor == 0) || | 340 | if (pkt->major == 0 && pkt->minor == 0) |
341 | !(nver = find_by_major(vio, pkt->major))) | 341 | return handshake_failure(vio); |
342 | nver = find_by_major(vio, pkt->major); | ||
343 | if (!nver) | ||
342 | return handshake_failure(vio); | 344 | return handshake_failure(vio); |
343 | 345 | ||
344 | if (send_version(vio, nver->major, nver->minor) < 0) | 346 | if (send_version(vio, nver->major, nver->minor) < 0) |