diff options
author | Bjorn Helgaas <bhelgaas@google.com> | 2020-12-15 15:11:08 -0600 |
---|---|---|
committer | Bjorn Helgaas <bhelgaas@google.com> | 2020-12-15 15:11:08 -0600 |
commit | 6db645f99cc5357ab5520982b85396487c113dc9 (patch) | |
tree | 0431721fd4cc7b3814371aa734c0b6cfa439be36 | |
parent | 1a76dceaf4268f904292ca126d1cb9af091fd516 (diff) | |
parent | 0aec75a5963e8d72c59a42055c5b5c524893b910 (diff) |
Merge branch 'pci/misc'
- Update kernel-doc to match function prototypes (Mauro Carvalho Chehab)
- Bounds-check "pci=resource_alignment=" requests (Bjorn Helgaas)
- Fix integer overflow in "pci=resource_alignment=" requests (Colin Ian
King)
- Remove unused HAVE_PCI_SET_MWI definition (Heiner Kallweit)
- Reduce pci_set_cacheline_size() message to debug level (Heiner Kallweit)
* pci/misc:
PCI: Reduce pci_set_cacheline_size() message to debug level
PCI: Remove unused HAVE_PCI_SET_MWI
PCI: Fix overflow in command-line resource alignment requests
PCI: Bounds-check command-line resource alignment requests
PCI: Fix kernel-doc markup
# Conflicts:
# drivers/pci/pci-driver.c
-rw-r--r-- | drivers/pci/p2pdma.c | 10 | ||||
-rw-r--r-- | drivers/pci/pci-driver.c | 4 | ||||
-rw-r--r-- | drivers/pci/pci.c | 18 | ||||
-rw-r--r-- | drivers/pci/probe.c | 4 | ||||
-rw-r--r-- | drivers/pci/slot.c | 5 | ||||
-rw-r--r-- | include/linux/pci.h | 1 |
6 files changed, 22 insertions, 20 deletions
diff --git a/drivers/pci/p2pdma.c b/drivers/pci/p2pdma.c index de1c331dbed4..bace04145c5f 100644 --- a/drivers/pci/p2pdma.c +++ b/drivers/pci/p2pdma.c @@ -609,7 +609,7 @@ bool pci_has_p2pmem(struct pci_dev *pdev) EXPORT_SYMBOL_GPL(pci_has_p2pmem); /** - * pci_p2pmem_find - find a peer-to-peer DMA memory device compatible with + * pci_p2pmem_find_many - find a peer-to-peer DMA memory device compatible with * the specified list of clients and shortest distance (as determined * by pci_p2pmem_dma()) * @clients: array of devices to check (NULL-terminated) @@ -674,7 +674,7 @@ struct pci_dev *pci_p2pmem_find_many(struct device **clients, int num_clients) EXPORT_SYMBOL_GPL(pci_p2pmem_find_many); /** - * pci_alloc_p2p_mem - allocate peer-to-peer DMA memory + * pci_alloc_p2pmem - allocate peer-to-peer DMA memory * @pdev: the device to allocate memory from * @size: number of bytes to allocate * @@ -727,7 +727,7 @@ void pci_free_p2pmem(struct pci_dev *pdev, void *addr, size_t size) EXPORT_SYMBOL_GPL(pci_free_p2pmem); /** - * pci_virt_to_bus - return the PCI bus address for a given virtual + * pci_p2pmem_virt_to_bus - return the PCI bus address for a given virtual * address obtained with pci_alloc_p2pmem() * @pdev: the device the memory was allocated from * @addr: address of the memory that was allocated @@ -859,7 +859,7 @@ static int __pci_p2pdma_map_sg(struct pci_p2pdma_pagemap *p2p_pgmap, } /** - * pci_p2pdma_map_sg - map a PCI peer-to-peer scatterlist for DMA + * pci_p2pdma_map_sg_attrs - map a PCI peer-to-peer scatterlist for DMA * @dev: device doing the DMA request * @sg: scatter list to map * @nents: elements in the scatterlist @@ -896,7 +896,7 @@ int pci_p2pdma_map_sg_attrs(struct device *dev, struct scatterlist *sg, EXPORT_SYMBOL_GPL(pci_p2pdma_map_sg_attrs); /** - * pci_p2pdma_unmap_sg - unmap a PCI peer-to-peer scatterlist that was + * pci_p2pdma_unmap_sg_attrs - unmap a PCI peer-to-peer scatterlist that was * mapped with pci_p2pdma_map_sg() * @dev: device doing the DMA request * @sg: scatter list to map diff --git a/drivers/pci/pci-driver.c b/drivers/pci/pci-driver.c index 60b452ae6631..ec44a79e951a 100644 --- a/drivers/pci/pci-driver.c +++ b/drivers/pci/pci-driver.c @@ -163,7 +163,7 @@ static const struct pci_device_id *pci_match_device(struct pci_driver *drv, } /** - * store_new_id - sysfs frontend to pci_add_dynid() + * new_id_store - sysfs frontend to pci_add_dynid() * @driver: target device driver * @buf: buffer for scanning device ID data * @count: input size @@ -231,7 +231,7 @@ static ssize_t new_id_store(struct device_driver *driver, const char *buf, static DRIVER_ATTR_WO(new_id); /** - * store_remove_id - remove a PCI device ID from this driver + * remove_id_store - remove a PCI device ID from this driver * @driver: target device driver * @buf: buffer for scanning device ID data * @count: input size diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c index d4ccfd9e6db9..9f538d879538 100644 --- a/drivers/pci/pci.c +++ b/drivers/pci/pci.c @@ -3487,7 +3487,7 @@ bool pci_acs_enabled(struct pci_dev *pdev, u16 acs_flags) } /** - * pci_acs_path_enable - test ACS flags from start to end in a hierarchy + * pci_acs_path_enabled - test ACS flags from start to end in a hierarchy * @start: starting downstream device * @end: ending upstream device or NULL to search to the root bus * @acs_flags: required flags @@ -4331,7 +4331,7 @@ int pci_set_cacheline_size(struct pci_dev *dev) if (cacheline_size == pci_cache_line_size) return 0; - pci_info(dev, "cache line size of %d is not supported\n", + pci_dbg(dev, "cache line size of %d is not supported\n", pci_cache_line_size << 2); return -EINVAL; @@ -6216,19 +6216,21 @@ static resource_size_t pci_specified_resource_alignment(struct pci_dev *dev, while (*p) { count = 0; if (sscanf(p, "%d%n", &align_order, &count) == 1 && - p[count] == '@') { + p[count] == '@') { p += count + 1; + if (align_order > 63) { + pr_err("PCI: Invalid requested alignment (order %d)\n", + align_order); + align_order = PAGE_SHIFT; + } } else { - align_order = -1; + align_order = PAGE_SHIFT; } ret = pci_dev_str_match(dev, p, &p); if (ret == 1) { *resize = true; - if (align_order == -1) - align = PAGE_SIZE; - else - align = 1 << align_order; + align = 1ULL << align_order; break; } else if (ret < 0) { pr_err("PCI: Can't parse resource_alignment parameter: %s\n", diff --git a/drivers/pci/probe.c b/drivers/pci/probe.c index e4fe6a740d1d..951b748bacbd 100644 --- a/drivers/pci/probe.c +++ b/drivers/pci/probe.c @@ -165,7 +165,7 @@ static inline unsigned long decode_bar(struct pci_dev *dev, u32 bar) #define PCI_COMMAND_DECODE_ENABLE (PCI_COMMAND_MEMORY | PCI_COMMAND_IO) /** - * pci_read_base - Read a PCI BAR + * __pci_read_base - Read a PCI BAR * @dev: the PCI device * @type: type of the BAR * @res: resource buffer to be filled in @@ -1613,7 +1613,7 @@ static bool pci_ext_cfg_is_aliased(struct pci_dev *dev) } /** - * pci_cfg_space_size - Get the configuration space size of the PCI device + * pci_cfg_space_size_ext - Get the configuration space size of the PCI device * @dev: PCI device * * Regular PCI devices have 256 bytes, but PCI-X 2 and PCI Express devices diff --git a/drivers/pci/slot.c b/drivers/pci/slot.c index ed2077e7470a..d627dd9179b4 100644 --- a/drivers/pci/slot.c +++ b/drivers/pci/slot.c @@ -323,7 +323,7 @@ EXPORT_SYMBOL_GPL(pci_destroy_slot); #if defined(CONFIG_HOTPLUG_PCI) || defined(CONFIG_HOTPLUG_PCI_MODULE) #include <linux/pci_hotplug.h> /** - * pci_hp_create_link - create symbolic link to the hotplug driver module. + * pci_hp_create_module_link - create symbolic link to hotplug driver module * @pci_slot: struct pci_slot * * Helper function for pci_hotplug_core.c to create symbolic link to @@ -349,7 +349,8 @@ void pci_hp_create_module_link(struct pci_slot *pci_slot) EXPORT_SYMBOL_GPL(pci_hp_create_module_link); /** - * pci_hp_remove_link - remove symbolic link to the hotplug driver module. + * pci_hp_remove_module_link - remove symbolic link to the hotplug driver + * module. * @pci_slot: struct pci_slot * * Helper function for pci_hotplug_core.c to remove symbolic link to diff --git a/include/linux/pci.h b/include/linux/pci.h index 03277148f421..1630a2eb1491 100644 --- a/include/linux/pci.h +++ b/include/linux/pci.h @@ -1197,7 +1197,6 @@ void pci_clear_master(struct pci_dev *dev); int pci_set_pcie_reset_state(struct pci_dev *dev, enum pcie_reset_state state); int pci_set_cacheline_size(struct pci_dev *dev); -#define HAVE_PCI_SET_MWI int __must_check pci_set_mwi(struct pci_dev *dev); int __must_check pcim_set_mwi(struct pci_dev *dev); int pci_try_set_mwi(struct pci_dev *dev); |