From: kernel test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: [ipmi:for-next 1/2] drivers/char/ipmi/ipmi_si_intf.c:689:5: error: expected ')'
Date: Fri, 13 Aug 2021 03:08:06 +0800 [thread overview]
Message-ID: <202108130358.1MAF95fR-lkp@intel.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 8447 bytes --]
tree: https://github.com/cminyard/linux-ipmi for-next
head: f68d16759343cdbe44de07b9569b0b992291d13c
commit: 8365203515c64c9f7c11d14cdcccdac58c793598 [1/2] ipmi: rate limit ipmi smi_event failure message
config: hexagon-randconfig-r031-20210811 (attached as .config)
compiler: clang version 12.0.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/cminyard/linux-ipmi/commit/8365203515c64c9f7c11d14cdcccdac58c793598
git remote add ipmi https://github.com/cminyard/linux-ipmi
git fetch --no-tags ipmi for-next
git checkout 8365203515c64c9f7c11d14cdcccdac58c793598
# save the attached .config to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross O=build_dir ARCH=hexagon SHELL=/bin/bash
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All errors (new ones prefixed by >>):
>> drivers/char/ipmi/ipmi_si_intf.c:689:5: error: expected ')'
msg[2]);
^
drivers/char/ipmi/ipmi_si_intf.c:686:4: note: to match this '('
dev_warn_ratelimited(smi_info->io.dev,
^
include/linux/dev_printk.h:188:24: note: expanded from macro 'dev_warn_ratelimited'
dev_level_ratelimited(dev_warn, dev, fmt, ##__VA_ARGS__)
^
1 error generated.
vim +689 drivers/char/ipmi/ipmi_si_intf.c
536
537 static void handle_transaction_done(struct smi_info *smi_info)
538 {
539 struct ipmi_smi_msg *msg;
540
541 debug_timestamp("Done");
542 switch (smi_info->si_state) {
543 case SI_NORMAL:
544 if (!smi_info->curr_msg)
545 break;
546
547 smi_info->curr_msg->rsp_size
548 = smi_info->handlers->get_result(
549 smi_info->si_sm,
550 smi_info->curr_msg->rsp,
551 IPMI_MAX_MSG_LENGTH);
552
553 /*
554 * Do this here becase deliver_recv_msg() releases the
555 * lock, and a new message can be put in during the
556 * time the lock is released.
557 */
558 msg = smi_info->curr_msg;
559 smi_info->curr_msg = NULL;
560 deliver_recv_msg(smi_info, msg);
561 break;
562
563 case SI_GETTING_FLAGS:
564 {
565 unsigned char msg[4];
566 unsigned int len;
567
568 /* We got the flags from the SMI, now handle them. */
569 len = smi_info->handlers->get_result(smi_info->si_sm, msg, 4);
570 if (msg[2] != 0) {
571 /* Error fetching flags, just give up for now. */
572 smi_info->si_state = SI_NORMAL;
573 } else if (len < 4) {
574 /*
575 * Hmm, no flags. That's technically illegal, but
576 * don't use uninitialized data.
577 */
578 smi_info->si_state = SI_NORMAL;
579 } else {
580 smi_info->msg_flags = msg[3];
581 handle_flags(smi_info);
582 }
583 break;
584 }
585
586 case SI_CLEARING_FLAGS:
587 {
588 unsigned char msg[3];
589
590 /* We cleared the flags. */
591 smi_info->handlers->get_result(smi_info->si_sm, msg, 3);
592 if (msg[2] != 0) {
593 /* Error clearing flags */
594 dev_warn_ratelimited(smi_info->io.dev,
595 "Error clearing flags: %2.2x\n", msg[2]);
596 }
597 smi_info->si_state = SI_NORMAL;
598 break;
599 }
600
601 case SI_GETTING_EVENTS:
602 {
603 smi_info->curr_msg->rsp_size
604 = smi_info->handlers->get_result(
605 smi_info->si_sm,
606 smi_info->curr_msg->rsp,
607 IPMI_MAX_MSG_LENGTH);
608
609 /*
610 * Do this here becase deliver_recv_msg() releases the
611 * lock, and a new message can be put in during the
612 * time the lock is released.
613 */
614 msg = smi_info->curr_msg;
615 smi_info->curr_msg = NULL;
616 if (msg->rsp[2] != 0) {
617 /* Error getting event, probably done. */
618 msg->done(msg);
619
620 /* Take off the event flag. */
621 smi_info->msg_flags &= ~EVENT_MSG_BUFFER_FULL;
622 handle_flags(smi_info);
623 } else {
624 smi_inc_stat(smi_info, events);
625
626 /*
627 * Do this before we deliver the message
628 * because delivering the message releases the
629 * lock and something else can mess with the
630 * state.
631 */
632 handle_flags(smi_info);
633
634 deliver_recv_msg(smi_info, msg);
635 }
636 break;
637 }
638
639 case SI_GETTING_MESSAGES:
640 {
641 smi_info->curr_msg->rsp_size
642 = smi_info->handlers->get_result(
643 smi_info->si_sm,
644 smi_info->curr_msg->rsp,
645 IPMI_MAX_MSG_LENGTH);
646
647 /*
648 * Do this here becase deliver_recv_msg() releases the
649 * lock, and a new message can be put in during the
650 * time the lock is released.
651 */
652 msg = smi_info->curr_msg;
653 smi_info->curr_msg = NULL;
654 if (msg->rsp[2] != 0) {
655 /* Error getting event, probably done. */
656 msg->done(msg);
657
658 /* Take off the msg flag. */
659 smi_info->msg_flags &= ~RECEIVE_MSG_AVAIL;
660 handle_flags(smi_info);
661 } else {
662 smi_inc_stat(smi_info, incoming_messages);
663
664 /*
665 * Do this before we deliver the message
666 * because delivering the message releases the
667 * lock and something else can mess with the
668 * state.
669 */
670 handle_flags(smi_info);
671
672 deliver_recv_msg(smi_info, msg);
673 }
674 break;
675 }
676
677 case SI_CHECKING_ENABLES:
678 {
679 unsigned char msg[4];
680 u8 enables;
681 bool irq_on;
682
683 /* We got the flags from the SMI, now handle them. */
684 smi_info->handlers->get_result(smi_info->si_sm, msg, 4);
685 if (msg[2] != 0) {
686 dev_warn_ratelimited(smi_info->io.dev,
687 "Couldn't get irq info: %x,\n"
688 "Maybe ok, but ipmi might run very slowly.\n"
> 689 msg[2]);
690 smi_info->si_state = SI_NORMAL;
691 break;
692 }
693 enables = current_global_enables(smi_info, 0, &irq_on);
694 if (smi_info->io.si_type == SI_BT)
695 /* BT has its own interrupt enable bit. */
696 check_bt_irq(smi_info, irq_on);
697 if (enables != (msg[3] & GLOBAL_ENABLES_MASK)) {
698 /* Enables are not correct, fix them. */
699 msg[0] = (IPMI_NETFN_APP_REQUEST << 2);
700 msg[1] = IPMI_SET_BMC_GLOBAL_ENABLES_CMD;
701 msg[2] = enables | (msg[3] & ~GLOBAL_ENABLES_MASK);
702 smi_info->handlers->start_transaction(
703 smi_info->si_sm, msg, 3);
704 smi_info->si_state = SI_SETTING_ENABLES;
705 } else if (smi_info->supports_event_msg_buff) {
706 smi_info->curr_msg = ipmi_alloc_smi_msg();
707 if (!smi_info->curr_msg) {
708 smi_info->si_state = SI_NORMAL;
709 break;
710 }
711 start_getting_events(smi_info);
712 } else {
713 smi_info->si_state = SI_NORMAL;
714 }
715 break;
716 }
717
718 case SI_SETTING_ENABLES:
719 {
720 unsigned char msg[4];
721
722 smi_info->handlers->get_result(smi_info->si_sm, msg, 4);
723 if (msg[2] != 0)
724 dev_warn_ratelimited(smi_info->io.dev,
725 "Could not set the global enables: 0x%x.\n",
726 msg[2]);
727
728 if (smi_info->supports_event_msg_buff) {
729 smi_info->curr_msg = ipmi_alloc_smi_msg();
730 if (!smi_info->curr_msg) {
731 smi_info->si_state = SI_NORMAL;
732 break;
733 }
734 start_getting_events(smi_info);
735 } else {
736 smi_info->si_state = SI_NORMAL;
737 }
738 break;
739 }
740 }
741 }
742
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 17850 bytes --]
WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com>
To: Wen Yang <wenyang@linux.alibaba.com>
Cc: clang-built-linux@googlegroups.com, kbuild-all@lists.01.org,
linux-kernel@vger.kernel.org, Corey Minyard <cminyard@mvista.com>
Subject: [ipmi:for-next 1/2] drivers/char/ipmi/ipmi_si_intf.c:689:5: error: expected ')'
Date: Fri, 13 Aug 2021 03:08:06 +0800 [thread overview]
Message-ID: <202108130358.1MAF95fR-lkp@intel.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 8199 bytes --]
tree: https://github.com/cminyard/linux-ipmi for-next
head: f68d16759343cdbe44de07b9569b0b992291d13c
commit: 8365203515c64c9f7c11d14cdcccdac58c793598 [1/2] ipmi: rate limit ipmi smi_event failure message
config: hexagon-randconfig-r031-20210811 (attached as .config)
compiler: clang version 12.0.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://github.com/cminyard/linux-ipmi/commit/8365203515c64c9f7c11d14cdcccdac58c793598
git remote add ipmi https://github.com/cminyard/linux-ipmi
git fetch --no-tags ipmi for-next
git checkout 8365203515c64c9f7c11d14cdcccdac58c793598
# save the attached .config to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross O=build_dir ARCH=hexagon SHELL=/bin/bash
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All errors (new ones prefixed by >>):
>> drivers/char/ipmi/ipmi_si_intf.c:689:5: error: expected ')'
msg[2]);
^
drivers/char/ipmi/ipmi_si_intf.c:686:4: note: to match this '('
dev_warn_ratelimited(smi_info->io.dev,
^
include/linux/dev_printk.h:188:24: note: expanded from macro 'dev_warn_ratelimited'
dev_level_ratelimited(dev_warn, dev, fmt, ##__VA_ARGS__)
^
1 error generated.
vim +689 drivers/char/ipmi/ipmi_si_intf.c
536
537 static void handle_transaction_done(struct smi_info *smi_info)
538 {
539 struct ipmi_smi_msg *msg;
540
541 debug_timestamp("Done");
542 switch (smi_info->si_state) {
543 case SI_NORMAL:
544 if (!smi_info->curr_msg)
545 break;
546
547 smi_info->curr_msg->rsp_size
548 = smi_info->handlers->get_result(
549 smi_info->si_sm,
550 smi_info->curr_msg->rsp,
551 IPMI_MAX_MSG_LENGTH);
552
553 /*
554 * Do this here becase deliver_recv_msg() releases the
555 * lock, and a new message can be put in during the
556 * time the lock is released.
557 */
558 msg = smi_info->curr_msg;
559 smi_info->curr_msg = NULL;
560 deliver_recv_msg(smi_info, msg);
561 break;
562
563 case SI_GETTING_FLAGS:
564 {
565 unsigned char msg[4];
566 unsigned int len;
567
568 /* We got the flags from the SMI, now handle them. */
569 len = smi_info->handlers->get_result(smi_info->si_sm, msg, 4);
570 if (msg[2] != 0) {
571 /* Error fetching flags, just give up for now. */
572 smi_info->si_state = SI_NORMAL;
573 } else if (len < 4) {
574 /*
575 * Hmm, no flags. That's technically illegal, but
576 * don't use uninitialized data.
577 */
578 smi_info->si_state = SI_NORMAL;
579 } else {
580 smi_info->msg_flags = msg[3];
581 handle_flags(smi_info);
582 }
583 break;
584 }
585
586 case SI_CLEARING_FLAGS:
587 {
588 unsigned char msg[3];
589
590 /* We cleared the flags. */
591 smi_info->handlers->get_result(smi_info->si_sm, msg, 3);
592 if (msg[2] != 0) {
593 /* Error clearing flags */
594 dev_warn_ratelimited(smi_info->io.dev,
595 "Error clearing flags: %2.2x\n", msg[2]);
596 }
597 smi_info->si_state = SI_NORMAL;
598 break;
599 }
600
601 case SI_GETTING_EVENTS:
602 {
603 smi_info->curr_msg->rsp_size
604 = smi_info->handlers->get_result(
605 smi_info->si_sm,
606 smi_info->curr_msg->rsp,
607 IPMI_MAX_MSG_LENGTH);
608
609 /*
610 * Do this here becase deliver_recv_msg() releases the
611 * lock, and a new message can be put in during the
612 * time the lock is released.
613 */
614 msg = smi_info->curr_msg;
615 smi_info->curr_msg = NULL;
616 if (msg->rsp[2] != 0) {
617 /* Error getting event, probably done. */
618 msg->done(msg);
619
620 /* Take off the event flag. */
621 smi_info->msg_flags &= ~EVENT_MSG_BUFFER_FULL;
622 handle_flags(smi_info);
623 } else {
624 smi_inc_stat(smi_info, events);
625
626 /*
627 * Do this before we deliver the message
628 * because delivering the message releases the
629 * lock and something else can mess with the
630 * state.
631 */
632 handle_flags(smi_info);
633
634 deliver_recv_msg(smi_info, msg);
635 }
636 break;
637 }
638
639 case SI_GETTING_MESSAGES:
640 {
641 smi_info->curr_msg->rsp_size
642 = smi_info->handlers->get_result(
643 smi_info->si_sm,
644 smi_info->curr_msg->rsp,
645 IPMI_MAX_MSG_LENGTH);
646
647 /*
648 * Do this here becase deliver_recv_msg() releases the
649 * lock, and a new message can be put in during the
650 * time the lock is released.
651 */
652 msg = smi_info->curr_msg;
653 smi_info->curr_msg = NULL;
654 if (msg->rsp[2] != 0) {
655 /* Error getting event, probably done. */
656 msg->done(msg);
657
658 /* Take off the msg flag. */
659 smi_info->msg_flags &= ~RECEIVE_MSG_AVAIL;
660 handle_flags(smi_info);
661 } else {
662 smi_inc_stat(smi_info, incoming_messages);
663
664 /*
665 * Do this before we deliver the message
666 * because delivering the message releases the
667 * lock and something else can mess with the
668 * state.
669 */
670 handle_flags(smi_info);
671
672 deliver_recv_msg(smi_info, msg);
673 }
674 break;
675 }
676
677 case SI_CHECKING_ENABLES:
678 {
679 unsigned char msg[4];
680 u8 enables;
681 bool irq_on;
682
683 /* We got the flags from the SMI, now handle them. */
684 smi_info->handlers->get_result(smi_info->si_sm, msg, 4);
685 if (msg[2] != 0) {
686 dev_warn_ratelimited(smi_info->io.dev,
687 "Couldn't get irq info: %x,\n"
688 "Maybe ok, but ipmi might run very slowly.\n"
> 689 msg[2]);
690 smi_info->si_state = SI_NORMAL;
691 break;
692 }
693 enables = current_global_enables(smi_info, 0, &irq_on);
694 if (smi_info->io.si_type == SI_BT)
695 /* BT has its own interrupt enable bit. */
696 check_bt_irq(smi_info, irq_on);
697 if (enables != (msg[3] & GLOBAL_ENABLES_MASK)) {
698 /* Enables are not correct, fix them. */
699 msg[0] = (IPMI_NETFN_APP_REQUEST << 2);
700 msg[1] = IPMI_SET_BMC_GLOBAL_ENABLES_CMD;
701 msg[2] = enables | (msg[3] & ~GLOBAL_ENABLES_MASK);
702 smi_info->handlers->start_transaction(
703 smi_info->si_sm, msg, 3);
704 smi_info->si_state = SI_SETTING_ENABLES;
705 } else if (smi_info->supports_event_msg_buff) {
706 smi_info->curr_msg = ipmi_alloc_smi_msg();
707 if (!smi_info->curr_msg) {
708 smi_info->si_state = SI_NORMAL;
709 break;
710 }
711 start_getting_events(smi_info);
712 } else {
713 smi_info->si_state = SI_NORMAL;
714 }
715 break;
716 }
717
718 case SI_SETTING_ENABLES:
719 {
720 unsigned char msg[4];
721
722 smi_info->handlers->get_result(smi_info->si_sm, msg, 4);
723 if (msg[2] != 0)
724 dev_warn_ratelimited(smi_info->io.dev,
725 "Could not set the global enables: 0x%x.\n",
726 msg[2]);
727
728 if (smi_info->supports_event_msg_buff) {
729 smi_info->curr_msg = ipmi_alloc_smi_msg();
730 if (!smi_info->curr_msg) {
731 smi_info->si_state = SI_NORMAL;
732 break;
733 }
734 start_getting_events(smi_info);
735 } else {
736 smi_info->si_state = SI_NORMAL;
737 }
738 break;
739 }
740 }
741 }
742
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 17850 bytes --]
next reply other threads:[~2021-08-12 19:08 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-08-12 19:08 kernel test robot [this message]
2021-08-12 19:08 ` [ipmi:for-next 1/2] drivers/char/ipmi/ipmi_si_intf.c:689:5: error: expected ')' kernel test robot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202108130358.1MAF95fR-lkp@intel.com \
--to=lkp@intel.com \
--cc=kbuild-all@lists.01.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.