All of lore.kernel.org
 help / color / mirror / Atom feed
From: Heiner Kallweit <hkallweit1@gmail.com>
To: Bjorn Helgaas <helgaas@kernel.org>
Cc: "linux-pci@vger.kernel.org" <linux-pci@vger.kernel.org>
Subject: Re: [PATCH] PCI/VPD: Use unaligned access helpers in pci_vpd_read
Date: Sat, 1 May 2021 21:53:05 +0200	[thread overview]
Message-ID: <2dc873e5-a9b5-459c-1176-16640fb146c3@gmail.com> (raw)
In-Reply-To: <202105020008.4NAsuaZ4-lkp@intel.com>

On 01.05.2021 18:52, kernel test robot wrote:
> Hi Heiner,
> 
> I love your patch! Yet something to improve:
> 
> [auto build test ERROR on pci/next]
> [also build test ERROR on v5.12 next-20210430]
> [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/Heiner-Kallweit/PCI-VPD-Use-unaligned-access-helpers-in-pci_vpd_read/20210501-214553
> base:   https://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git next
> config: i386-randconfig-s002-20210501 (attached as .config)
> compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
> reproduce:
>         # apt-get install sparse
>         # sparse version: v0.6.3-341-g8af24329-dirty
>         # https://github.com/0day-ci/linux/commit/3115b0380e42b10762f7eee96f10b5a02cb4d2d5
>         git remote add linux-review https://github.com/0day-ci/linux
>         git fetch --no-tags linux-review Heiner-Kallweit/PCI-VPD-Use-unaligned-access-helpers-in-pci_vpd_read/20210501-214553
>         git checkout 3115b0380e42b10762f7eee96f10b5a02cb4d2d5
>         # save the attached .config to linux build tree
>         make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' W=1 ARCH=i386 
> 
> 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/pci/vpd.c: In function 'pci_vpd_read':
>>> drivers/pci/vpd.c:224:4: error: implicit declaration of function 'put_unaligned_le32' [-Werror=implicit-function-declaration]
>      224 |    put_unaligned_le32(val, buf);
>          |    ^~~~~~~~~~~~~~~~~~
>    cc1: some warnings being treated as errors
> 
> 
> vim +/put_unaligned_le32 +224 drivers/pci/vpd.c
> 
>    168	
>    169	static ssize_t pci_vpd_read(struct pci_dev *dev, loff_t pos, size_t count,
>    170				    void *buf)
>    171	{
>    172		struct pci_vpd *vpd = dev->vpd;
>    173		int ret;
>    174		loff_t end = pos + count;
>    175	
>    176		if (pos < 0)
>    177			return -EINVAL;
>    178	
>    179		if (!vpd->valid) {
>    180			vpd->valid = 1;
>    181			vpd->len = pci_vpd_size(dev, vpd->len);
>    182		}
>    183	
>    184		if (vpd->len == 0)
>    185			return -EIO;
>    186	
>    187		if (pos > vpd->len)
>    188			return 0;
>    189	
>    190		if (end > vpd->len) {
>    191			end = vpd->len;
>    192			count = end - pos;
>    193		}
>    194	
>    195		if (mutex_lock_killable(&vpd->lock))
>    196			return -EINTR;
>    197	
>    198		ret = pci_vpd_wait(dev);
>    199		if (ret < 0)
>    200			goto out;
>    201	
>    202		while (pos < end) {
>    203			unsigned int len, skip;
>    204			u32 val;
>    205	
>    206			ret = pci_user_write_config_word(dev, vpd->cap + PCI_VPD_ADDR,
>    207							 pos & ~3);
>    208			if (ret < 0)
>    209				break;
>    210			vpd->busy = 1;
>    211			vpd->flag = PCI_VPD_ADDR_F;
>    212			ret = pci_vpd_wait(dev);
>    213			if (ret < 0)
>    214				break;
>    215	
>    216			ret = pci_user_read_config_dword(dev, vpd->cap + PCI_VPD_DATA, &val);
>    217			if (ret < 0)
>    218				break;
>    219	
>    220			skip = pos & 3;
>    221			len = min_t(unsigned int, 4 - skip, end - pos);
>    222	
>    223			if (len == 4)  {
>  > 224				put_unaligned_le32(val, buf);
>    225			} else {
>    226				u8 tmpbuf[4];
>    227	
>    228				put_unaligned_le32(val, tmpbuf);
>    229				memcpy(buf, tmpbuf + skip, len);
>    230			}
>    231	
>    232			buf += len;
>    233			pos += len;
>    234		}
>    235	out:
>    236		mutex_unlock(&vpd->lock);
>    237		return ret ? ret : count;
>    238	}
>    239	
> 
> ---
> 0-DAY CI Kernel Test Service, Intel Corporation
> https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
> 

It depends on "PCI/VPD: Use unaligned access helper in pci_vpd_write"
which takes care of including asm/unaligned.h

  reply	other threads:[~2021-05-01 19:53 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-05-01 13:43 [PATCH] PCI/VPD: Use unaligned access helpers in pci_vpd_read Heiner Kallweit
2021-05-01 16:52 ` kernel test robot
2021-05-01 16:52   ` kernel test robot
2021-05-01 19:53   ` Heiner Kallweit [this message]
2021-05-07 21:18     ` Heiner Kallweit
2021-05-01 17:23 ` kernel test robot
2021-05-01 17:23   ` 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=2dc873e5-a9b5-459c-1176-16640fb146c3@gmail.com \
    --to=hkallweit1@gmail.com \
    --cc=helgaas@kernel.org \
    --cc=linux-pci@vger.kernel.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.