lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Message-ID: <202312301629.2sCcBeRp-lkp@intel.com> Date: Sat, 30 Dec 2023 16:43:35 +0800 From: kernel test robot <lkp@...el.com> To: Takashi Sakamoto <o-takashi@...amocchi.jp>, linux1394-devel@...ts.sourceforge.net, linux-kernel@...r.kernel.org Cc: llvm@...ts.linux.dev, oe-kbuild-all@...ts.linux.dev, adamg@...ox.com, stable@...r.kernel.org, Jiri Slaby <jirislaby@...nel.org>, Mario Limonciello <mario.limonciello@....com>, Tobias Gruetzmacher <tobias-lists@...gs> Subject: Re: [PATCH] firewire: ohci: suppress unexpected system reboot in AMD Ryzen machines and ASM108x/VT630x PCIe cards Hi Takashi, kernel test robot noticed the following build errors: [auto build test ERROR on ieee1394-linux1394/for-next] [also build test ERROR on ieee1394-linux1394/for-linus linus/master v6.7-rc7 next-20231222] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/Takashi-Sakamoto/firewire-ohci-suppress-unexpected-system-reboot-in-AMD-Ryzen-machines-and-ASM108x-VT630x-PCIe-cards/20231229-120311 base: https://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394.git for-next patch link: https://lore.kernel.org/r/20231229035735.11127-1-o-takashi%40sakamocchi.jp patch subject: [PATCH] firewire: ohci: suppress unexpected system reboot in AMD Ryzen machines and ASM108x/VT630x PCIe cards config: arm64-allyesconfig (https://download.01.org/0day-ci/archive/20231230/202312301629.2sCcBeRp-lkp@intel.com/config) compiler: clang version 18.0.0git (https://github.com/llvm/llvm-project 8a4266a626914765c0c69839e8a51be383013c1a) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20231230/202312301629.2sCcBeRp-lkp@intel.com/reproduce) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <lkp@...el.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202312301629.2sCcBeRp-lkp@intel.com/ All errors (new ones prefixed by >>): >> drivers/firewire/ohci.c:3679:59: error: too many arguments provided to function-like macro invocation 3679 | if (detect_vt630x_with_asm1083_on_amd_ryzen_machine(dev, ohci)) | ^ drivers/firewire/ohci.c:3573:9: note: macro 'detect_vt630x_with_asm1083_on_amd_ryzen_machine' defined here 3573 | #define detect_vt630x_with_asm1083_on_amd_ryzen_machine(pdev) false | ^ >> drivers/firewire/ohci.c:3679:6: error: use of undeclared identifier 'detect_vt630x_with_asm1083_on_amd_ryzen_machine' 3679 | if (detect_vt630x_with_asm1083_on_amd_ryzen_machine(dev, ohci)) | ^ 2 errors generated. vim +3679 drivers/firewire/ohci.c 3617 3618 static int pci_probe(struct pci_dev *dev, 3619 const struct pci_device_id *ent) 3620 { 3621 struct fw_ohci *ohci; 3622 u32 bus_options, max_receive, link_speed, version; 3623 u64 guid; 3624 int i, err; 3625 size_t size; 3626 3627 if (dev->vendor == PCI_VENDOR_ID_PINNACLE_SYSTEMS) { 3628 dev_err(&dev->dev, "Pinnacle MovieBoard is not yet supported\n"); 3629 return -ENOSYS; 3630 } 3631 3632 ohci = devres_alloc(release_ohci, sizeof(*ohci), GFP_KERNEL); 3633 if (ohci == NULL) 3634 return -ENOMEM; 3635 fw_card_initialize(&ohci->card, &ohci_driver, &dev->dev); 3636 pci_set_drvdata(dev, ohci); 3637 pmac_ohci_on(dev); 3638 devres_add(&dev->dev, ohci); 3639 3640 err = pcim_enable_device(dev); 3641 if (err) { 3642 dev_err(&dev->dev, "failed to enable OHCI hardware\n"); 3643 return err; 3644 } 3645 3646 pci_set_master(dev); 3647 pci_write_config_dword(dev, OHCI1394_PCI_HCI_Control, 0); 3648 3649 spin_lock_init(&ohci->lock); 3650 mutex_init(&ohci->phy_reg_mutex); 3651 3652 INIT_WORK(&ohci->bus_reset_work, bus_reset_work); 3653 3654 if (!(pci_resource_flags(dev, 0) & IORESOURCE_MEM) || 3655 pci_resource_len(dev, 0) < OHCI1394_REGISTER_SIZE) { 3656 ohci_err(ohci, "invalid MMIO resource\n"); 3657 return -ENXIO; 3658 } 3659 3660 err = pcim_iomap_regions(dev, 1 << 0, ohci_driver_name); 3661 if (err) { 3662 ohci_err(ohci, "request and map MMIO resource unavailable\n"); 3663 return -ENXIO; 3664 } 3665 ohci->registers = pcim_iomap_table(dev)[0]; 3666 3667 for (i = 0; i < ARRAY_SIZE(ohci_quirks); i++) 3668 if ((ohci_quirks[i].vendor == dev->vendor) && 3669 (ohci_quirks[i].device == (unsigned short)PCI_ANY_ID || 3670 ohci_quirks[i].device == dev->device) && 3671 (ohci_quirks[i].revision == (unsigned short)PCI_ANY_ID || 3672 ohci_quirks[i].revision >= dev->revision)) { 3673 ohci->quirks = ohci_quirks[i].flags; 3674 break; 3675 } 3676 if (param_quirks) 3677 ohci->quirks = param_quirks; 3678 > 3679 if (detect_vt630x_with_asm1083_on_amd_ryzen_machine(dev, ohci)) 3680 ohci->quirks |= QUIRK_REBOOT_BY_CYCLE_TIMER_READ; 3681 3682 /* 3683 * Because dma_alloc_coherent() allocates at least one page, 3684 * we save space by using a common buffer for the AR request/ 3685 * response descriptors and the self IDs buffer. 3686 */ 3687 BUILD_BUG_ON(AR_BUFFERS * sizeof(struct descriptor) > PAGE_SIZE/4); 3688 BUILD_BUG_ON(SELF_ID_BUF_SIZE > PAGE_SIZE/2); 3689 ohci->misc_buffer = dmam_alloc_coherent(&dev->dev, PAGE_SIZE, &ohci->misc_buffer_bus, 3690 GFP_KERNEL); 3691 if (!ohci->misc_buffer) 3692 return -ENOMEM; 3693 3694 err = ar_context_init(&ohci->ar_request_ctx, ohci, 0, 3695 OHCI1394_AsReqRcvContextControlSet); 3696 if (err < 0) 3697 return err; 3698 3699 err = ar_context_init(&ohci->ar_response_ctx, ohci, PAGE_SIZE/4, 3700 OHCI1394_AsRspRcvContextControlSet); 3701 if (err < 0) 3702 return err; 3703 3704 err = context_init(&ohci->at_request_ctx, ohci, 3705 OHCI1394_AsReqTrContextControlSet, handle_at_packet); 3706 if (err < 0) 3707 return err; 3708 3709 err = context_init(&ohci->at_response_ctx, ohci, 3710 OHCI1394_AsRspTrContextControlSet, handle_at_packet); 3711 if (err < 0) 3712 return err; 3713 3714 reg_write(ohci, OHCI1394_IsoRecvIntMaskSet, ~0); 3715 ohci->ir_context_channels = ~0ULL; 3716 ohci->ir_context_support = reg_read(ohci, OHCI1394_IsoRecvIntMaskSet); 3717 reg_write(ohci, OHCI1394_IsoRecvIntMaskClear, ~0); 3718 ohci->ir_context_mask = ohci->ir_context_support; 3719 ohci->n_ir = hweight32(ohci->ir_context_mask); 3720 size = sizeof(struct iso_context) * ohci->n_ir; 3721 ohci->ir_context_list = devm_kzalloc(&dev->dev, size, GFP_KERNEL); 3722 if (!ohci->ir_context_list) 3723 return -ENOMEM; 3724 3725 reg_write(ohci, OHCI1394_IsoXmitIntMaskSet, ~0); 3726 ohci->it_context_support = reg_read(ohci, OHCI1394_IsoXmitIntMaskSet); 3727 /* JMicron JMB38x often shows 0 at first read, just ignore it */ 3728 if (!ohci->it_context_support) { 3729 ohci_notice(ohci, "overriding IsoXmitIntMask\n"); 3730 ohci->it_context_support = 0xf; 3731 } 3732 reg_write(ohci, OHCI1394_IsoXmitIntMaskClear, ~0); 3733 ohci->it_context_mask = ohci->it_context_support; 3734 ohci->n_it = hweight32(ohci->it_context_mask); 3735 size = sizeof(struct iso_context) * ohci->n_it; 3736 ohci->it_context_list = devm_kzalloc(&dev->dev, size, GFP_KERNEL); 3737 if (!ohci->it_context_list) 3738 return -ENOMEM; 3739 3740 ohci->self_id = ohci->misc_buffer + PAGE_SIZE/2; 3741 ohci->self_id_bus = ohci->misc_buffer_bus + PAGE_SIZE/2; 3742 3743 bus_options = reg_read(ohci, OHCI1394_BusOptions); 3744 max_receive = (bus_options >> 12) & 0xf; 3745 link_speed = bus_options & 0x7; 3746 guid = ((u64) reg_read(ohci, OHCI1394_GUIDHi) << 32) | 3747 reg_read(ohci, OHCI1394_GUIDLo); 3748 3749 if (!(ohci->quirks & QUIRK_NO_MSI)) 3750 pci_enable_msi(dev); 3751 err = devm_request_irq(&dev->dev, dev->irq, irq_handler, 3752 pci_dev_msi_enabled(dev) ? 0 : IRQF_SHARED, ohci_driver_name, ohci); 3753 if (err < 0) { 3754 ohci_err(ohci, "failed to allocate interrupt %d\n", dev->irq); 3755 goto fail_msi; 3756 } 3757 3758 err = fw_card_add(&ohci->card, max_receive, link_speed, guid); 3759 if (err) 3760 goto fail_msi; 3761 3762 version = reg_read(ohci, OHCI1394_Version) & 0x00ff00ff; 3763 ohci_notice(ohci, 3764 "added OHCI v%x.%x device as card %d, " 3765 "%d IR + %d IT contexts, quirks 0x%x%s\n", 3766 version >> 16, version & 0xff, ohci->card.index, 3767 ohci->n_ir, ohci->n_it, ohci->quirks, 3768 reg_read(ohci, OHCI1394_PhyUpperBound) ? 3769 ", physUB" : ""); 3770 3771 return 0; 3772 3773 fail_msi: 3774 pci_disable_msi(dev); 3775 3776 return err; 3777 } 3778 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
Powered by blists - more mailing lists