Hi Suganath, I love your patch! Perhaps something to improve: [auto build test WARNING on scsi/for-next] [also build test WARNING on mkp-scsi/for-next v5.10-rc5 next-20201123] [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] url: https://github.com/0day-ci/linux/commits/Suganath-Prabu-S/mpt3sas-Features-to-enhance-driver-debugging/20201124-115842 base: https://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi.git for-next config: x86_64-rhel (attached as .config) compiler: gcc-9 (Debian 9.3.0-15) 9.3.0 reproduce (this is a W=1 build): # https://github.com/0day-ci/linux/commit/6ef897d0859c5415dc82c174e1f2a83b286e9ae2 git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Suganath-Prabu-S/mpt3sas-Features-to-enhance-driver-debugging/20201124-115842 git checkout 6ef897d0859c5415dc82c174e1f2a83b286e9ae2 # save the attached .config to linux build tree make W=1 ARCH=x86_64 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@xxxxxxxxx> All warnings (new ones prefixed by >>): >> drivers/scsi/mpt3sas/mpt3sas_config.c:1793:1: warning: no previous prototype for '_config_set_driver_trigger_pg0' [-Wmissing-prototypes] 1793 | _config_set_driver_trigger_pg0(struct MPT3SAS_ADAPTER *ioc, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> drivers/scsi/mpt3sas/mpt3sas_config.c:1835:1: warning: no previous prototype for 'mpt3sas_config_update_driver_trigger_pg0' [-Wmissing-prototypes] 1835 | mpt3sas_config_update_driver_trigger_pg0(struct MPT3SAS_ADAPTER *ioc, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ vim +/_config_set_driver_trigger_pg0 +1793 drivers/scsi/mpt3sas/mpt3sas_config.c 1782 1783 /** 1784 * mpt3sas_config_set_driver_trigger_pg0 - write driver trigger page 0 1785 * @ioc: per adapter object 1786 * @mpi_reply: reply mf payload returned from firmware 1787 * @config_page: contents of the config page 1788 * Context: sleep. 1789 * 1790 * Returns 0 for success, non-zero for failure. 1791 */ 1792 int > 1793 _config_set_driver_trigger_pg0(struct MPT3SAS_ADAPTER *ioc, 1794 Mpi2ConfigReply_t *mpi_reply, Mpi26DriverTriggerPage0_t *config_page) 1795 { 1796 Mpi2ConfigRequest_t mpi_request; 1797 int r; 1798 1799 memset(&mpi_request, 0, sizeof(Mpi2ConfigRequest_t)); 1800 mpi_request.Function = MPI2_FUNCTION_CONFIG; 1801 mpi_request.Action = MPI2_CONFIG_ACTION_PAGE_HEADER; 1802 mpi_request.Header.PageType = MPI2_CONFIG_PAGETYPE_EXTENDED; 1803 mpi_request.ExtPageType = 1804 MPI2_CONFIG_EXTPAGETYPE_DRIVER_PERSISTENT_TRIGGER; 1805 mpi_request.Header.PageNumber = 0; 1806 mpi_request.Header.PageVersion = MPI26_DRIVER_TRIGGER_PAGE0_PAGEVERSION; 1807 ioc->build_zero_len_sge_mpi(ioc, &mpi_request.PageBufferSGE); 1808 r = _config_request(ioc, &mpi_request, mpi_reply, 1809 MPT3_CONFIG_PAGE_DEFAULT_TIMEOUT, NULL, 0); 1810 if (r) 1811 goto out; 1812 1813 mpi_request.Action = MPI2_CONFIG_ACTION_PAGE_WRITE_CURRENT; 1814 _config_request(ioc, &mpi_request, mpi_reply, 1815 MPT3_CONFIG_PAGE_DEFAULT_TIMEOUT, config_page, 1816 sizeof(*config_page)); 1817 mpi_request.Action = MPI2_CONFIG_ACTION_PAGE_WRITE_NVRAM; 1818 r = _config_request(ioc, &mpi_request, mpi_reply, 1819 MPT3_CONFIG_PAGE_DEFAULT_TIMEOUT, config_page, 1820 sizeof(*config_page)); 1821 out: 1822 return r; 1823 } 1824 1825 /** 1826 * mpt3sas_config_update_driver_trigger_pg0 - update driver trigger page 0 1827 * @ioc: per adapter object 1828 * @trigger_flags: trigger type bit map 1829 * @set: set ot clear trigger values 1830 * Context: sleep. 1831 * 1832 * Returns 0 for success, non-zero for failure. 1833 */ 1834 int > 1835 mpt3sas_config_update_driver_trigger_pg0(struct MPT3SAS_ADAPTER *ioc, 1836 u16 trigger_flag, bool set) 1837 { 1838 Mpi26DriverTriggerPage0_t tg_pg0; 1839 Mpi2ConfigReply_t mpi_reply; 1840 int rc; 1841 u16 flags, ioc_status; 1842 1843 rc = mpt3sas_config_get_driver_trigger_pg0(ioc, &mpi_reply, &tg_pg0); 1844 if (rc) 1845 return rc; 1846 ioc_status = le16_to_cpu(mpi_reply.IOCStatus) & 1847 MPI2_IOCSTATUS_MASK; 1848 if (ioc_status != MPI2_IOCSTATUS_SUCCESS) { 1849 dcprintk(ioc, 1850 ioc_err(ioc, 1851 "%s: Failed to get trigger pg0, ioc_status(0x%04x)\n", 1852 __func__, ioc_status)); 1853 return -EFAULT; 1854 } 1855 1856 if (set) 1857 flags = le16_to_cpu(tg_pg0.TriggerFlags) | trigger_flag; 1858 else 1859 flags = le16_to_cpu(tg_pg0.TriggerFlags) & ~trigger_flag; 1860 1861 tg_pg0.TriggerFlags = cpu_to_le16(flags); 1862 1863 rc = _config_set_driver_trigger_pg0(ioc, &mpi_reply, &tg_pg0); 1864 if (rc) 1865 return rc; 1866 ioc_status = le16_to_cpu(mpi_reply.IOCStatus) & 1867 MPI2_IOCSTATUS_MASK; 1868 if (ioc_status != MPI2_IOCSTATUS_SUCCESS) { 1869 dcprintk(ioc, 1870 ioc_err(ioc, 1871 "%s: Failed to update trigger pg0, ioc_status(0x%04x)\n", 1872 __func__, ioc_status)); 1873 return -EFAULT; 1874 } 1875 1876 return 0; 1877 } 1878 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx
Attachment:
.config.gz
Description: application/gzip