1. 25 8月, 2020 11 次提交
    • I
      qed: implement devlink info request · 53916a67
      Igor Russkikh 提交于
      Here we return existing fw & mfw versions, we also fetch device's
      serial number:
      
      ~$ sudo ~/iproute2/devlink/devlink  dev info
      pci/0000:01:00.1:
        driver qed
        board.serial_number REE1915E44552
        versions:
            running:
              fw.app 8.42.2.0
            stored:
              fw.mgmt 8.52.10.0
      
      MFW and FW are different firmwares on device.
      Management is a firmware responsible for link configuration and
      various control plane features. Its permanent and resides in NVM.
      
      Running FW (or fastpath FW) is an embedded microprogram implementing
      all the packet processing, offloads, etc. This FW is being loaded
      on each start by the driver from FW binary blob.
      
      The base device specific structure (qed_dev_info) was not directly
      available to the base driver before. Thus, here we create and store
      a private copy of this structure in qed_dev root object to
      access the data.
      Signed-off-by: NIgor Russkikh <irusskikh@marvell.com>
      Signed-off-by: NAlexander Lobakin <alobakin@marvell.com>
      Signed-off-by: NMichal Kalderon <michal.kalderon@marvell.com>
      Reviewed-by: NJakub Kicinski <kuba@kernel.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      53916a67
    • I
      qed: fix kconfig help entries · b75d05b2
      Igor Russkikh 提交于
      This patch replaces stubs in kconfig help entries with an actual description.
      Signed-off-by: NIgor Russkikh <irusskikh@marvell.com>
      Signed-off-by: NAlexander Lobakin <alobakin@marvell.com>
      Signed-off-by: NMichal Kalderon <michal.kalderon@marvell.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      b75d05b2
    • I
      qed/qede: make devlink survive recovery · 755f982b
      Igor Russkikh 提交于
      Devlink instance lifecycle was linked to qed_dev object,
      that caused devlink to be recreated on each recovery.
      
      Changing it by making higher level driver (qede) responsible for its
      life. This way devlink now survives recoveries.
      
      qede now stores devlink structure pointer as a part of its device
      object, devlink private data contains a linkage structure,
      qed_devlink.
      Signed-off-by: NIgor Russkikh <irusskikh@marvell.com>
      Signed-off-by: NAlexander Lobakin <alobakin@marvell.com>
      Signed-off-by: NMichal Kalderon <michal.kalderon@marvell.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      755f982b
    • I
      qed: move out devlink logic into a new file · 52306dee
      Igor Russkikh 提交于
      We are extending devlink infrastructure, thus move the existing
      stuff into a new file qed_devlink.c
      Signed-off-by: NIgor Russkikh <irusskikh@marvell.com>
      Signed-off-by: NAlexander Lobakin <alobakin@marvell.com>
      Signed-off-by: NMichal Kalderon <michal.kalderon@marvell.com>
      Reviewed-by: NJesse Brandeburg <jesse.brandeburg@intel.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      52306dee
    • C
      chelsio: switch from 'pci_' to 'dma_' API · 9ab90179
      Christophe JAILLET 提交于
      The wrappers in include/linux/pci-dma-compat.h should go away.
      
      The patch has been generated with the coccinelle script below and has been
      hand modified to replace GFP_ with a correct flag.
      It has been compile tested.
      
      When memory is allocated in 'free_rx_resources()' and
      'alloc_tx_resources()' (sge.c) GFP_KERNEL can be used because it is
      already used in these functions.
      
      Moreover, they can only be called from a .ndo_open	function. So it is
      guarded by the 'rtnl_lock()', which is a mutex.
      
      While at it, a pr_err message in 'init_one()' has been updated accordingly
      (s/consistent/coherent).
      
      @@
      @@
      -    PCI_DMA_BIDIRECTIONAL
      +    DMA_BIDIRECTIONAL
      
      @@
      @@
      -    PCI_DMA_TODEVICE
      +    DMA_TO_DEVICE
      
      @@
      @@
      -    PCI_DMA_FROMDEVICE
      +    DMA_FROM_DEVICE
      
      @@
      @@
      -    PCI_DMA_NONE
      +    DMA_NONE
      
      @@
      expression e1, e2, e3;
      @@
      -    pci_alloc_consistent(e1, e2, e3)
      +    dma_alloc_coherent(&e1->dev, e2, e3, GFP_)
      
      @@
      expression e1, e2, e3;
      @@
      -    pci_zalloc_consistent(e1, e2, e3)
      +    dma_alloc_coherent(&e1->dev, e2, e3, GFP_)
      
      @@
      expression e1, e2, e3, e4;
      @@
      -    pci_free_consistent(e1, e2, e3, e4)
      +    dma_free_coherent(&e1->dev, e2, e3, e4)
      
      @@
      expression e1, e2, e3, e4;
      @@
      -    pci_map_single(e1, e2, e3, e4)
      +    dma_map_single(&e1->dev, e2, e3, e4)
      
      @@
      expression e1, e2, e3, e4;
      @@
      -    pci_unmap_single(e1, e2, e3, e4)
      +    dma_unmap_single(&e1->dev, e2, e3, e4)
      
      @@
      expression e1, e2, e3, e4, e5;
      @@
      -    pci_map_page(e1, e2, e3, e4, e5)
      +    dma_map_page(&e1->dev, e2, e3, e4, e5)
      
      @@
      expression e1, e2, e3, e4;
      @@
      -    pci_unmap_page(e1, e2, e3, e4)
      +    dma_unmap_page(&e1->dev, e2, e3, e4)
      
      @@
      expression e1, e2, e3, e4;
      @@
      -    pci_map_sg(e1, e2, e3, e4)
      +    dma_map_sg(&e1->dev, e2, e3, e4)
      
      @@
      expression e1, e2, e3, e4;
      @@
      -    pci_unmap_sg(e1, e2, e3, e4)
      +    dma_unmap_sg(&e1->dev, e2, e3, e4)
      
      @@
      expression e1, e2, e3, e4;
      @@
      -    pci_dma_sync_single_for_cpu(e1, e2, e3, e4)
      +    dma_sync_single_for_cpu(&e1->dev, e2, e3, e4)
      
      @@
      expression e1, e2, e3, e4;
      @@
      -    pci_dma_sync_single_for_device(e1, e2, e3, e4)
      +    dma_sync_single_for_device(&e1->dev, e2, e3, e4)
      
      @@
      expression e1, e2, e3, e4;
      @@
      -    pci_dma_sync_sg_for_cpu(e1, e2, e3, e4)
      +    dma_sync_sg_for_cpu(&e1->dev, e2, e3, e4)
      
      @@
      expression e1, e2, e3, e4;
      @@
      -    pci_dma_sync_sg_for_device(e1, e2, e3, e4)
      +    dma_sync_sg_for_device(&e1->dev, e2, e3, e4)
      
      @@
      expression e1, e2;
      @@
      -    pci_dma_mapping_error(e1, e2)
      +    dma_mapping_error(&e1->dev, e2)
      
      @@
      expression e1, e2;
      @@
      -    pci_set_dma_mask(e1, e2)
      +    dma_set_mask(&e1->dev, e2)
      
      @@
      expression e1, e2;
      @@
      -    pci_set_consistent_dma_mask(e1, e2)
      +    dma_set_coherent_mask(&e1->dev, e2)
      Signed-off-by: NChristophe JAILLET <christophe.jaillet@wanadoo.fr>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      9ab90179
    • D
      mlxsw: spectrum_ethtool: Remove internal speeds from PTYS register · 5bf01b57
      Danielle Ratson 提交于
      The PTYS register is used to report and configure the port type and
      speed. Currently, internal bits in the register are used the same way
      other bits are used.
      
      Using the internal bits can cause bad parameter firmware errors. For
      example, trying to write to internal bit 25 returns:
      
      EMAD reg access failed (tid=53e2bffa00004310,reg_id=5004(ptys),type=write,status=7(bad parameter))
      
      Remove the internal bits from the PTYS register, so that it is no longer
      possible to pass them to firmware.
      Signed-off-by: NDanielle Ratson <danieller@mellanox.com>
      Reviewed-by: NJiri Pirko <jiri@mellanox.com>
      Signed-off-by: NIdo Schimmel <idosch@mellanox.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      5bf01b57
    • I
      mlxsw: spectrum_trap: Adjust default policer burst size for Spectrum-{2, 3} · 7ee0db9d
      Ido Schimmel 提交于
      On the Spectrum-{2,3} ASICs the minimum burst size of the packet trap
      policers needs to be 40% of the configured rate. Otherwise, intermittent
      drops are observed even when the incoming packet rate is slightly lower
      than the configured policer rate.
      
      Adjust the burst size of the registered packet trap policers so that
      they do not violate above mentioned limitation.
      Signed-off-by: NIdo Schimmel <idosch@mellanox.com>
      Reviewed-by: NJiri Pirko <jiri@mellanox.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      7ee0db9d
    • C
      net: atheros: switch from 'pci_' to 'dma_' API · 85eb5bc3
      Christophe JAILLET 提交于
      The wrappers in include/linux/pci-dma-compat.h should go away.
      
      The patch has been generated with the coccinelle script below and has been
      hand modified to replace GFP_ with a correct flag.
      It has been compile tested.
      
      When memory is allocated in 'atl1e_setup_ring_resources()' (atl1e_main.c),
      'atl1_setup_ring_resources()' (atl1.c) and 'atl2_setup_ring_resources()'
      (atl2.c) GFP_KERNEL can be used because it can be called from a .ndo_open.
      
      'atl1_setup_ring_resources()' (atl1.c) can also be called from a
      '.set_ringparam' (see struct ethtool_ops) where sleep is also allowed.
      
      Both cases are protected by 'rtnl_lock()' which is a mutex. So these
      function can sleep.
      
      @@
      @@
      -    PCI_DMA_BIDIRECTIONAL
      +    DMA_BIDIRECTIONAL
      
      @@
      @@
      -    PCI_DMA_TODEVICE
      +    DMA_TO_DEVICE
      
      @@
      @@
      -    PCI_DMA_FROMDEVICE
      +    DMA_FROM_DEVICE
      
      @@
      @@
      -    PCI_DMA_NONE
      +    DMA_NONE
      
      @@
      expression e1, e2, e3;
      @@
      -    pci_alloc_consistent(e1, e2, e3)
      +    dma_alloc_coherent(&e1->dev, e2, e3, GFP_)
      
      @@
      expression e1, e2, e3;
      @@
      -    pci_zalloc_consistent(e1, e2, e3)
      +    dma_alloc_coherent(&e1->dev, e2, e3, GFP_)
      
      @@
      expression e1, e2, e3, e4;
      @@
      -    pci_free_consistent(e1, e2, e3, e4)
      +    dma_free_coherent(&e1->dev, e2, e3, e4)
      
      @@
      expression e1, e2, e3, e4;
      @@
      -    pci_map_single(e1, e2, e3, e4)
      +    dma_map_single(&e1->dev, e2, e3, e4)
      
      @@
      expression e1, e2, e3, e4;
      @@
      -    pci_unmap_single(e1, e2, e3, e4)
      +    dma_unmap_single(&e1->dev, e2, e3, e4)
      
      @@
      expression e1, e2, e3, e4, e5;
      @@
      -    pci_map_page(e1, e2, e3, e4, e5)
      +    dma_map_page(&e1->dev, e2, e3, e4, e5)
      
      @@
      expression e1, e2, e3, e4;
      @@
      -    pci_unmap_page(e1, e2, e3, e4)
      +    dma_unmap_page(&e1->dev, e2, e3, e4)
      
      @@
      expression e1, e2, e3, e4;
      @@
      -    pci_map_sg(e1, e2, e3, e4)
      +    dma_map_sg(&e1->dev, e2, e3, e4)
      
      @@
      expression e1, e2, e3, e4;
      @@
      -    pci_unmap_sg(e1, e2, e3, e4)
      +    dma_unmap_sg(&e1->dev, e2, e3, e4)
      
      @@
      expression e1, e2, e3, e4;
      @@
      -    pci_dma_sync_single_for_cpu(e1, e2, e3, e4)
      +    dma_sync_single_for_cpu(&e1->dev, e2, e3, e4)
      
      @@
      expression e1, e2, e3, e4;
      @@
      -    pci_dma_sync_single_for_device(e1, e2, e3, e4)
      +    dma_sync_single_for_device(&e1->dev, e2, e3, e4)
      
      @@
      expression e1, e2, e3, e4;
      @@
      -    pci_dma_sync_sg_for_cpu(e1, e2, e3, e4)
      +    dma_sync_sg_for_cpu(&e1->dev, e2, e3, e4)
      
      @@
      expression e1, e2, e3, e4;
      @@
      -    pci_dma_sync_sg_for_device(e1, e2, e3, e4)
      +    dma_sync_sg_for_device(&e1->dev, e2, e3, e4)
      
      @@
      expression e1, e2;
      @@
      -    pci_dma_mapping_error(e1, e2)
      +    dma_mapping_error(&e1->dev, e2)
      
      @@
      expression e1, e2;
      @@
      -    pci_set_dma_mask(e1, e2)
      +    dma_set_mask(&e1->dev, e2)
      
      @@
      expression e1, e2;
      @@
      -    pci_set_consistent_dma_mask(e1, e2)
      +    dma_set_coherent_mask(&e1->dev, e2)
      Signed-off-by: NChristophe JAILLET <christophe.jaillet@wanadoo.fr>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      85eb5bc3
    • C
      starfire: switch from 'pci_' to 'dma_' API · 5d63ccea
      Christophe JAILLET 提交于
      The wrappers in include/linux/pci-dma-compat.h should go away.
      
      The patch has been generated with the coccinelle script below and has been
      hand modified to replace GFP_ with a correct flag.
      It has been compile tested.
      
      When memory is allocated in 'netdev_open()', GFP_ATOMIC must be used
      because it can be called from a .ndo_tx_timeout function.
      So this function can be called with the 'netif_tx_lock' acquired.
      The call chain is:
        --> tx_timeout                 (.ndo_tx_timeout function)
          --> netdev_open
      
      @@
      @@
      -    PCI_DMA_BIDIRECTIONAL
      +    DMA_BIDIRECTIONAL
      
      @@
      @@
      -    PCI_DMA_TODEVICE
      +    DMA_TO_DEVICE
      
      @@
      @@
      -    PCI_DMA_FROMDEVICE
      +    DMA_FROM_DEVICE
      
      @@
      @@
      -    PCI_DMA_NONE
      +    DMA_NONE
      
      @@
      expression e1, e2, e3;
      @@
      -    pci_alloc_consistent(e1, e2, e3)
      +    dma_alloc_coherent(&e1->dev, e2, e3, GFP_)
      
      @@
      expression e1, e2, e3;
      @@
      -    pci_zalloc_consistent(e1, e2, e3)
      +    dma_alloc_coherent(&e1->dev, e2, e3, GFP_)
      
      @@
      expression e1, e2, e3, e4;
      @@
      -    pci_free_consistent(e1, e2, e3, e4)
      +    dma_free_coherent(&e1->dev, e2, e3, e4)
      
      @@
      expression e1, e2, e3, e4;
      @@
      -    pci_map_single(e1, e2, e3, e4)
      +    dma_map_single(&e1->dev, e2, e3, e4)
      
      @@
      expression e1, e2, e3, e4;
      @@
      -    pci_unmap_single(e1, e2, e3, e4)
      +    dma_unmap_single(&e1->dev, e2, e3, e4)
      
      @@
      expression e1, e2, e3, e4, e5;
      @@
      -    pci_map_page(e1, e2, e3, e4, e5)
      +    dma_map_page(&e1->dev, e2, e3, e4, e5)
      
      @@
      expression e1, e2, e3, e4;
      @@
      -    pci_unmap_page(e1, e2, e3, e4)
      +    dma_unmap_page(&e1->dev, e2, e3, e4)
      
      @@
      expression e1, e2, e3, e4;
      @@
      -    pci_map_sg(e1, e2, e3, e4)
      +    dma_map_sg(&e1->dev, e2, e3, e4)
      
      @@
      expression e1, e2, e3, e4;
      @@
      -    pci_unmap_sg(e1, e2, e3, e4)
      +    dma_unmap_sg(&e1->dev, e2, e3, e4)
      
      @@
      expression e1, e2, e3, e4;
      @@
      -    pci_dma_sync_single_for_cpu(e1, e2, e3, e4)
      +    dma_sync_single_for_cpu(&e1->dev, e2, e3, e4)
      
      @@
      expression e1, e2, e3, e4;
      @@
      -    pci_dma_sync_single_for_device(e1, e2, e3, e4)
      +    dma_sync_single_for_device(&e1->dev, e2, e3, e4)
      
      @@
      expression e1, e2, e3, e4;
      @@
      -    pci_dma_sync_sg_for_cpu(e1, e2, e3, e4)
      +    dma_sync_sg_for_cpu(&e1->dev, e2, e3, e4)
      
      @@
      expression e1, e2, e3, e4;
      @@
      -    pci_dma_sync_sg_for_device(e1, e2, e3, e4)
      +    dma_sync_sg_for_device(&e1->dev, e2, e3, e4)
      
      @@
      expression e1, e2;
      @@
      -    pci_dma_mapping_error(e1, e2)
      +    dma_mapping_error(&e1->dev, e2)
      
      @@
      expression e1, e2;
      @@
      -    pci_set_dma_mask(e1, e2)
      +    dma_set_mask(&e1->dev, e2)
      
      @@
      expression e1, e2;
      @@
      -    pci_set_consistent_dma_mask(e1, e2)
      +    dma_set_coherent_mask(&e1->dev, e2)
      Signed-off-by: NChristophe JAILLET <christophe.jaillet@wanadoo.fr>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      5d63ccea
    • C
      typhoon: switch from 'pci_' to 'dma_' API · c8acc09c
      Christophe JAILLET 提交于
      The wrappers in include/linux/pci-dma-compat.h should go away.
      
      The patch has been generated with the coccinelle script below and has been
      hand modified to replace GFP_ with a correct flag.
      It has been compile tested.
      
      When memory is allocated in 'typhoon_init_one()' GFP_KERNEL can be used
      because it is a probe function and no lock is acquired.
      
      When memory is allocated in 'typhoon_download_firmware()', GFP_ATOMIC
      must be used because it can be called from a .ndo_tx_timeout function.
      So this function can be called with the 'netif_tx_lock' acquired.
      The call chain is:
        --> typhoon_tx_timeout                 (.ndo_tx_timeout function)
          --> typhoon_start_runtime
            --> typhoon_download_firmware
      
      While at is, update some comments accordingly.
      
      @@
      @@
      -    PCI_DMA_BIDIRECTIONAL
      +    DMA_BIDIRECTIONAL
      
      @@
      @@
      -    PCI_DMA_TODEVICE
      +    DMA_TO_DEVICE
      
      @@
      @@
      -    PCI_DMA_FROMDEVICE
      +    DMA_FROM_DEVICE
      
      @@
      @@
      -    PCI_DMA_NONE
      +    DMA_NONE
      
      @@
      expression e1, e2, e3;
      @@
      -    pci_alloc_consistent(e1, e2, e3)
      +    dma_alloc_coherent(&e1->dev, e2, e3, GFP_)
      
      @@
      expression e1, e2, e3;
      @@
      -    pci_zalloc_consistent(e1, e2, e3)
      +    dma_alloc_coherent(&e1->dev, e2, e3, GFP_)
      
      @@
      expression e1, e2, e3, e4;
      @@
      -    pci_free_consistent(e1, e2, e3, e4)
      +    dma_free_coherent(&e1->dev, e2, e3, e4)
      
      @@
      expression e1, e2, e3, e4;
      @@
      -    pci_map_single(e1, e2, e3, e4)
      +    dma_map_single(&e1->dev, e2, e3, e4)
      
      @@
      expression e1, e2, e3, e4;
      @@
      -    pci_unmap_single(e1, e2, e3, e4)
      +    dma_unmap_single(&e1->dev, e2, e3, e4)
      
      @@
      expression e1, e2, e3, e4, e5;
      @@
      -    pci_map_page(e1, e2, e3, e4, e5)
      +    dma_map_page(&e1->dev, e2, e3, e4, e5)
      
      @@
      expression e1, e2, e3, e4;
      @@
      -    pci_unmap_page(e1, e2, e3, e4)
      +    dma_unmap_page(&e1->dev, e2, e3, e4)
      
      @@
      expression e1, e2, e3, e4;
      @@
      -    pci_map_sg(e1, e2, e3, e4)
      +    dma_map_sg(&e1->dev, e2, e3, e4)
      
      @@
      expression e1, e2, e3, e4;
      @@
      -    pci_unmap_sg(e1, e2, e3, e4)
      +    dma_unmap_sg(&e1->dev, e2, e3, e4)
      
      @@
      expression e1, e2, e3, e4;
      @@
      -    pci_dma_sync_single_for_cpu(e1, e2, e3, e4)
      +    dma_sync_single_for_cpu(&e1->dev, e2, e3, e4)
      
      @@
      expression e1, e2, e3, e4;
      @@
      -    pci_dma_sync_single_for_device(e1, e2, e3, e4)
      +    dma_sync_single_for_device(&e1->dev, e2, e3, e4)
      
      @@
      expression e1, e2, e3, e4;
      @@
      -    pci_dma_sync_sg_for_cpu(e1, e2, e3, e4)
      +    dma_sync_sg_for_cpu(&e1->dev, e2, e3, e4)
      
      @@
      expression e1, e2, e3, e4;
      @@
      -    pci_dma_sync_sg_for_device(e1, e2, e3, e4)
      +    dma_sync_sg_for_device(&e1->dev, e2, e3, e4)
      
      @@
      expression e1, e2;
      @@
      -    pci_dma_mapping_error(e1, e2)
      +    dma_mapping_error(&e1->dev, e2)
      
      @@
      expression e1, e2;
      @@
      -    pci_set_dma_mask(e1, e2)
      +    dma_set_mask(&e1->dev, e2)
      
      @@
      expression e1, e2;
      @@
      -    pci_set_consistent_dma_mask(e1, e2)
      +    dma_set_coherent_mask(&e1->dev, e2)
      Signed-off-by: NChristophe JAILLET <christophe.jaillet@wanadoo.fr>
      Reviewed-by: NDavid Dillow <dave@thedillows.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      c8acc09c
    • T
      ibmvnic: Fix use-after-free of VNIC login response buffer · 507ebe64
      Thomas Falcon 提交于
      The login response buffer is freed after it is received
      and parsed, but other functions in the driver still attempt
      to read it, such as when the device is opened, causing the
      Oops below. Store relevant information in the driver's
      private data structures and use those instead.
      
      BUG: Kernel NULL pointer dereference on read at 0x00000010
      Faulting instruction address: 0xc00800000050a900
      Oops: Kernel access of bad area, sig: 11 [#1]
      LE PAGE_SIZE=64K MMU=Hash SMP NR_CPUS=2048 NUMA pSeries
      Modules linked in: pseries_rng rng_core vmx_crypto gf128mul binfmt_misc ip_tables x_tables ibmvnic ibmveth crc32c_vpmsum autofs4
      CPU: 7 PID: 759 Comm: NetworkManager Not tainted 5.9.0-rc1-00124-gd0a84e1f #14
      NIP:  c00800000050a900 LR: c00800000050a8f0 CTR: 00000000005b1904
      REGS: c0000001ed746d20 TRAP: 0300   Not tainted  (5.9.0-rc1-00124-gd0a84e1f)
      MSR:  800000000280b033 <SF,VEC,VSX,EE,FP,ME,IR,DR,RI,LE>  CR: 24428484  XER: 00000001
      CFAR: c0000000000101b0 DAR: 0000000000000010 DSISR: 40000000 IRQMASK: 0
      GPR00: c00800000050a8f0 c0000001ed746fb0 c008000000518e00 0000000000000000
      GPR04: 00000000000000c0 0000000000000080 0003c366c60c4501 0000000000000352
      GPR08: 000000000001f400 0000000000000010 0000000000000000 0000000000000000
      GPR12: 0001cf0000000019 c00000001ec97680 00000001003dfd40 0000010008dbb22c
      GPR16: 0000000000000000 0000000000000000 0000000000000000 c000000000edb6c8
      GPR20: c000000004e73e00 c000000004fd2448 c000000004e6d700 c000000004fd2448
      GPR24: c000000004fd2400 c000000004a0cd20 c0000001ed961860 c0080000005029d8
      GPR28: 0000000000000000 0000000000000003 c000000004a0c000 0000000000000000
      NIP [c00800000050a900] init_resources+0x338/0xa00 [ibmvnic]
      LR [c00800000050a8f0] init_resources+0x328/0xa00 [ibmvnic]
      Call Trace:
      [c0000001ed746fb0] [c00800000050a8f0] init_resources+0x328/0xa00 [ibmvnic] (unreliable)
      [c0000001ed747090] [c00800000050b024] ibmvnic_open+0x5c/0x100 [ibmvnic]
      [c0000001ed747110] [c000000000bdcc0c] __dev_open+0x17c/0x250
      [c0000001ed7471b0] [c000000000bdd1ec] __dev_change_flags+0x1dc/0x270
      [c0000001ed747260] [c000000000bdd2bc] dev_change_flags+0x3c/0x90
      [c0000001ed7472a0] [c000000000bf24b8] do_setlink+0x3b8/0x1280
      [c0000001ed747450] [c000000000bf8cc8] __rtnl_newlink+0x5a8/0x980
      [c0000001ed7478b0] [c000000000bf9110] rtnl_newlink+0x70/0xb0
      [c0000001ed7478f0] [c000000000bf07c4] rtnetlink_rcv_msg+0x364/0x460
      [c0000001ed747990] [c000000000c68b94] netlink_rcv_skb+0x84/0x1a0
      [c0000001ed747a00] [c000000000bef758] rtnetlink_rcv+0x28/0x40
      [c0000001ed747a20] [c000000000c68188] netlink_unicast+0x218/0x310
      [c0000001ed747a80] [c000000000c6848c] netlink_sendmsg+0x20c/0x4e0
      [c0000001ed747b20] [c000000000b9dc88] ____sys_sendmsg+0x158/0x360
      [c0000001ed747bb0] [c000000000ba1c88] ___sys_sendmsg+0x98/0xf0
      [c0000001ed747d10] [c000000000ba1db8] __sys_sendmsg+0x78/0x100
      [c0000001ed747dc0] [c000000000033820] system_call_exception+0x160/0x280
      [c0000001ed747e20] [c00000000000d740] system_call_common+0xf0/0x27c
      Instruction dump:
      3be00000 38810068 b1410076 3941006a 93e10072 fbea0000 b1210068 4bff9915
      eb9e0ca0 eabe0900 393c0010 3ab50048 <7fa04c2c> 7fba07b4 7b431764 7b4917a0
      ---[ end trace fbc5949a28e103bd ]---
      
      Fixes: f3ae59c0 ("ibmvnic: store RX and TX subCRQ handle array in ibmvnic_adapter struct")
      Signed-off-by: NThomas Falcon <tlfalcon@linux.ibm.com>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      507ebe64
  2. 22 8月, 2020 2 次提交
  3. 21 8月, 2020 5 次提交
  4. 20 8月, 2020 11 次提交
  5. 19 8月, 2020 8 次提交
  6. 18 8月, 2020 2 次提交
  7. 15 8月, 2020 1 次提交
    • L
      net: ethernet: 8390: axnet_cs: Document unused parameter 'txqueue' · fd29aeee
      Lee Jones 提交于
      Fixes the following W=1 kernel build warning(s):
      
       drivers/net/ethernet/8390/axnet_cs.c:907: warning: Function parameter or member 'txqueue' not described in 'axnet_tx_timeout'
      
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Jakub Kicinski <kuba@kernel.org>
      Cc: Martin Habets <mhabets@solarflare.com>
      Cc: Shannon Nelson <snelson@pensando.io>
      Cc: "Michael S. Tsirkin" <mst@redhat.com>
      Cc: William Lee <william@asix.com.tw>
      Cc: "A. Hinds --" <dahinds@users.sourceforge.net>
      Cc: reached at <becker@scyld.com>
      Cc: netdev@vger.kernel.org
      Signed-off-by: NLee Jones <lee.jones@linaro.org>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      fd29aeee