drivers/scsi/FlashPoint.c:1712:12: warning: stack frame size (2672) exceeds limit (2048) in 'FlashPoint_HandleInterrupt'

From: kernel test robot
Date: Mon Aug 21 2023 - 12:51:09 EST


Hi Arnd,

First bad commit (maybe != root cause):

tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: f7757129e3dea336c407551c98f50057c22bb266
commit: 9f7c2232e131b1de2ee4abadfce5d8f010e223c6 scsi: BusLogic: Remove bus_to_virt()
date: 1 year, 2 months ago
config: powerpc64-randconfig-r032-20230821 (https://download.01.org/0day-ci/archive/20230822/202308220007.nW9DjlBp-lkp@xxxxxxxxx/config)
compiler: clang version 14.0.6 (https://github.com/llvm/llvm-project.git f28c006a5895fc0e329fe15fead81e37457cb1d1)
reproduce: (https://download.01.org/0day-ci/archive/20230822/202308220007.nW9DjlBp-lkp@xxxxxxxxx/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@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202308220007.nW9DjlBp-lkp@xxxxxxxxx/

All warnings (new ones prefixed by >>):

In file included from drivers/scsi/BusLogic.c:51:
>> drivers/scsi/FlashPoint.c:1712:12: warning: stack frame size (2672) exceeds limit (2048) in 'FlashPoint_HandleInterrupt' [-Wframe-larger-than]
static int FlashPoint_HandleInterrupt(void *pcard)
^
1 warning generated.


vim +/FlashPoint_HandleInterrupt +1712 drivers/scsi/FlashPoint.c

^1da177e4c3f41 Linus Torvalds 2005-04-16 1702
^1da177e4c3f41 Linus Torvalds 2005-04-16 1703 /*---------------------------------------------------------------------
^1da177e4c3f41 Linus Torvalds 2005-04-16 1704 *
d8b6b8bd8a99ee Alexey Dobriyan 2006-03-08 1705 * Function: FlashPoint_HandleInterrupt
^1da177e4c3f41 Linus Torvalds 2005-04-16 1706 *
^1da177e4c3f41 Linus Torvalds 2005-04-16 1707 * Description: This is our entry point when an interrupt is generated
^1da177e4c3f41 Linus Torvalds 2005-04-16 1708 * by the card and the upper level driver passes it on to
^1da177e4c3f41 Linus Torvalds 2005-04-16 1709 * us.
^1da177e4c3f41 Linus Torvalds 2005-04-16 1710 *
^1da177e4c3f41 Linus Torvalds 2005-04-16 1711 *---------------------------------------------------------------------*/
391e2f25601e34 Khalid Aziz 2013-05-16 @1712 static int FlashPoint_HandleInterrupt(void *pcard)
^1da177e4c3f41 Linus Torvalds 2005-04-16 1713 {
69eb2ea4779336 Alexey Dobriyan 2006-03-08 1714 struct sccb *currSCCB;
db038cf86fc63d Alexey Dobriyan 2006-03-08 1715 unsigned char thisCard, result, bm_status, bm_int_st;
c823feeb33161c Alexey Dobriyan 2006-03-08 1716 unsigned short hp_int;
db038cf86fc63d Alexey Dobriyan 2006-03-08 1717 unsigned char i, target;
391e2f25601e34 Khalid Aziz 2013-05-16 1718 struct sccb_card *pCurrCard = pcard;
391e2f25601e34 Khalid Aziz 2013-05-16 1719 u32 ioport;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1720
391e2f25601e34 Khalid Aziz 2013-05-16 1721 thisCard = pCurrCard->cardIndex;
391e2f25601e34 Khalid Aziz 2013-05-16 1722 ioport = pCurrCard->ioPort;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1723
^1da177e4c3f41 Linus Torvalds 2005-04-16 1724 MDISABLE_INT(ioport);
^1da177e4c3f41 Linus Torvalds 2005-04-16 1725
^1da177e4c3f41 Linus Torvalds 2005-04-16 1726 if ((bm_int_st = RD_HARPOON(ioport + hp_int_status)) & EXT_STATUS_ON)
391e2f25601e34 Khalid Aziz 2013-05-16 1727 bm_status = RD_HARPOON(ioport + hp_ext_status) &
391e2f25601e34 Khalid Aziz 2013-05-16 1728 (unsigned char)BAD_EXT_STATUS;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1729 else
^1da177e4c3f41 Linus Torvalds 2005-04-16 1730 bm_status = 0;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1731
^1da177e4c3f41 Linus Torvalds 2005-04-16 1732 WR_HARPOON(ioport + hp_int_mask, (INT_CMD_COMPL | SCSI_INTERRUPT));
^1da177e4c3f41 Linus Torvalds 2005-04-16 1733
391e2f25601e34 Khalid Aziz 2013-05-16 1734 while ((hp_int = RDW_HARPOON((ioport + hp_intstat)) &
391e2f25601e34 Khalid Aziz 2013-05-16 1735 FPT_default_intena) | bm_status) {
^1da177e4c3f41 Linus Torvalds 2005-04-16 1736
391e2f25601e34 Khalid Aziz 2013-05-16 1737 currSCCB = pCurrCard->currentSCCB;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1738
^1da177e4c3f41 Linus Torvalds 2005-04-16 1739 if (hp_int & (FIFO | TIMEOUT | RESET | SCAM_SEL) || bm_status) {
5c04a7b8981f28 Alexey Dobriyan 2006-03-08 1740 result =
391e2f25601e34 Khalid Aziz 2013-05-16 1741 FPT_SccbMgr_bad_isr(ioport, thisCard, pCurrCard,
5c04a7b8981f28 Alexey Dobriyan 2006-03-08 1742 hp_int);
5c04a7b8981f28 Alexey Dobriyan 2006-03-08 1743 WRW_HARPOON((ioport + hp_intstat),
5c04a7b8981f28 Alexey Dobriyan 2006-03-08 1744 (FIFO | TIMEOUT | RESET | SCAM_SEL));
^1da177e4c3f41 Linus Torvalds 2005-04-16 1745 bm_status = 0;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1746
^1da177e4c3f41 Linus Torvalds 2005-04-16 1747 if (result) {
^1da177e4c3f41 Linus Torvalds 2005-04-16 1748
^1da177e4c3f41 Linus Torvalds 2005-04-16 1749 MENABLE_INT(ioport);
5c1b85e209af41 Alexey Dobriyan 2006-03-08 1750 return result;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1751 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 1752 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 1753
^1da177e4c3f41 Linus Torvalds 2005-04-16 1754 else if (hp_int & ICMD_COMP) {
^1da177e4c3f41 Linus Torvalds 2005-04-16 1755
^1da177e4c3f41 Linus Torvalds 2005-04-16 1756 if (!(hp_int & BUS_FREE)) {
^1da177e4c3f41 Linus Torvalds 2005-04-16 1757 /* Wait for the BusFree before starting a new command. We
^1da177e4c3f41 Linus Torvalds 2005-04-16 1758 must also check for being reselected since the BusFree
^1da177e4c3f41 Linus Torvalds 2005-04-16 1759 may not show up if another device reselects us in 1.5us or
^1da177e4c3f41 Linus Torvalds 2005-04-16 1760 less. SRR Wednesday, 3/8/1995.
^1da177e4c3f41 Linus Torvalds 2005-04-16 1761 */
5c04a7b8981f28 Alexey Dobriyan 2006-03-08 1762 while (!
5c04a7b8981f28 Alexey Dobriyan 2006-03-08 1763 (RDW_HARPOON((ioport + hp_intstat)) &
5c04a7b8981f28 Alexey Dobriyan 2006-03-08 1764 (BUS_FREE | RSEL))) ;
^1da177e4c3f41 Linus Torvalds 2005-04-16 1765 }
^1da177e4c3f41 Linus Torvalds 2005-04-16 1766
391e2f25601e34 Khalid Aziz 2013-05-16 1767 if (pCurrCard->globalFlags & F_HOST_XFER_ACT)
^1da177e4c3f41 Linus Torvalds 2005-04-16 1768
47b5d69c4aa753 James Bottomley 2005-04-24 1769 FPT_phaseChkFifo(ioport, thisCard);
^1da177e4c3f41 Linus Torvalds 2005-04-16 1770

:::::: The code at line 1712 was first introduced by commit
:::::: 391e2f25601e34a7d7e5dc155e487bc58dffd8c6 [SCSI] BusLogic: Port driver to 64-bit.

:::::: TO: Khalid Aziz <khalid.aziz@xxxxxxxxxx>
:::::: CC: James Bottomley <JBottomley@xxxxxxxxxxxxx>

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki