CC: [email protected]
CC: [email protected]
TO: Kees Cook <[email protected]>
CC: Andrew Morton <[email protected]>
CC: Linux Memory Management List <[email protected]>
CC: Andrey Ryabinin <[email protected]>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 
master
head:   96144c58abe7ff767e754b5b80995f7b8846d49b
commit: 277a10850f9f4cb3429faf59293e2c89b1a320be ubsan: split "bounds" checker 
from other options
date:   10 weeks ago
:::::: branch date: 9 hours ago
:::::: commit date: 10 weeks ago
config: mips-randconfig-c022-20200613 (attached as .config)
compiler: mipsel-linux-gcc (GCC) 9.3.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <[email protected]>

All errors (new ones prefixed by >>, old ones prefixed by <<):

mipsel-linux-ld: include/linux/dmaengine.h:1559: undefined reference to 
`__dma_request_channel'
mipsel-linux-ld: include/linux/dmaengine.h:1559: undefined reference to 
`__dma_request_channel'
mipsel-linux-ld: drivers/spi/spi-pxa2xx-dma.o: in function 
`pxa2xx_spi_dma_setup':
drivers/spi/spi-pxa2xx-dma.c:209: undefined reference to `dma_release_channel'
mipsel-linux-ld: drivers/spi/spi-pxa2xx-dma.o: in function 
`pxa2xx_spi_dma_release':
drivers/spi/spi-pxa2xx-dma.c:223: undefined reference to `dma_release_channel'
mipsel-linux-ld: drivers/spi/spi-pxa2xx-dma.c:228: undefined reference to 
`dma_release_channel'
mipsel-linux-ld: drivers/spi/spi-rockchip.o: in function `rockchip_spi_remove':
drivers/spi/spi-rockchip.c:759: undefined reference to `dma_release_channel'
mipsel-linux-ld: drivers/spi/spi-rockchip.c:761: undefined reference to 
`dma_release_channel'
mipsel-linux-ld: drivers/spi/spi-rockchip.o: in function `rockchip_spi_probe':
drivers/spi/spi-rockchip.c:691: undefined reference to `dma_request_chan'
mipsel-linux-ld: drivers/spi/spi-rockchip.c:702: undefined reference to 
`dma_request_chan'
mipsel-linux-ld: drivers/spi/spi-rockchip.c:731: undefined reference to 
`dma_release_channel'
mipsel-linux-ld: drivers/spi/spi-rockchip.c:728: undefined reference to 
`dma_release_channel'
mipsel-linux-ld: drivers/spi/spi-topcliff-pch.o: in function 
`pch_spi_release_dma':
drivers/spi/spi-topcliff-pch.c:902: undefined reference to `dma_release_channel'
mipsel-linux-ld: drivers/spi/spi-topcliff-pch.c:906: undefined reference to 
`dma_release_channel'
mipsel-linux-ld: drivers/spi/spi-topcliff-pch.o: in function 
`pch_spi_request_dma':
drivers/spi/spi-topcliff-pch.c:869: undefined reference to 
`__dma_request_channel'
mipsel-linux-ld: drivers/spi/spi-topcliff-pch.c:884: undefined reference to 
`__dma_request_channel'
mipsel-linux-ld: drivers/spi/spi-topcliff-pch.c:888: undefined reference to 
`dma_release_channel'
mipsel-linux-ld: drivers/mmc/host/dw_mmc.o: in function `dw_mci_edmac_exit':
drivers/mmc/host/dw_mmc.c:853: undefined reference to `dma_release_channel'
mipsel-linux-ld: drivers/mmc/host/dw_mmc.o: in function `dw_mci_edmac_init':
drivers/mmc/host/dw_mmc.c:836: undefined reference to `dma_request_chan'
mipsel-linux-ld: drivers/mmc/host/usdhi6rol0.o: in function 
`usdhi6_dma_release':
drivers/mmc/host/usdhi6rol0.c:521: undefined reference to `dma_release_channel'
mipsel-linux-ld: drivers/mmc/host/usdhi6rol0.c:526: undefined reference to 
`dma_release_channel'
mipsel-linux-ld: drivers/mmc/host/usdhi6rol0.o: in function 
`usdhi6_dma_request':
drivers/mmc/host/usdhi6rol0.c:679: undefined reference to `dma_request_chan'
mipsel-linux-ld: drivers/mmc/host/usdhi6rol0.c:696: undefined reference to 
`dma_request_chan'
mipsel-linux-ld: drivers/mmc/host/usdhi6rol0.c:716: undefined reference to 
`dma_release_channel'
mipsel-linux-ld: drivers/mmc/host/usdhi6rol0.c:719: undefined reference to 
`dma_release_channel'
mipsel-linux-ld: drivers/crypto/img-hash.o: in function `img_hash_remove':
drivers/crypto/img-hash.c:1063: undefined reference to `dma_release_channel'
mipsel-linux-ld: drivers/crypto/img-hash.o: in function `img_hash_dma_init':
drivers/crypto/img-hash.c:335: undefined reference to `dma_request_chan'
mipsel-linux-ld: drivers/crypto/img-hash.o: in function `img_hash_probe':
drivers/crypto/img-hash.c:1037: undefined reference to `dma_release_channel'
mipsel-linux-ld: drivers/staging/mt7621-dma/mtk-hsdma.o: in function 
`mtk_hsdma_remove':
drivers/staging/mt7621-dma/mtk-hsdma.c:741: undefined reference to 
`dma_async_device_unregister'
mipsel-linux-ld: drivers/staging/mt7621-dma/mtk-hsdma.o: in function 
`vchan_tx_prep':
drivers/dma/virt-dma.h:61: undefined reference to `dma_async_tx_descriptor_init'
mipsel-linux-ld: drivers/dma/virt-dma.h:63: undefined reference to 
`vchan_tx_submit'
mipsel-linux-ld: drivers/dma/virt-dma.h:63: undefined reference to 
`vchan_tx_submit'
mipsel-linux-ld: drivers/dma/virt-dma.h:64: undefined reference to 
`vchan_tx_desc_free'
mipsel-linux-ld: drivers/dma/virt-dma.h:64: undefined reference to 
`vchan_tx_desc_free'
mipsel-linux-ld: drivers/staging/mt7621-dma/mtk-hsdma.o: in function 
`mtk_hsdma_terminate_all':
drivers/staging/mt7621-dma/mtk-hsdma.c:296: undefined reference to 
`vchan_dma_desc_free_list'
mipsel-linux-ld: drivers/staging/mt7621-dma/mtk-hsdma.o: in function 
`vchan_free_chan_resources':
drivers/dma/virt-dma.h:199: undefined reference to `vchan_dma_desc_free_list'
mipsel-linux-ld: drivers/staging/mt7621-dma/mtk-hsdma.o: in function 
`mtk_hsdma_probe':
drivers/staging/mt7621-dma/mtk-hsdma.c:703: undefined reference to `vchan_init'
mipsel-linux-ld: drivers/staging/mt7621-dma/mtk-hsdma.c:712: undefined 
reference to `dma_async_device_register'
mipsel-linux-ld: drivers/staging/mt7621-dma/mtk-hsdma.c:730: undefined 
reference to `dma_async_device_unregister'
mipsel-linux-ld: drivers/staging/ralink-gdma/ralink-gdma.o: in function 
`gdma_dma_remove':
drivers/staging/ralink-gdma/ralink-gdma.c:899: undefined reference to 
`dma_async_device_unregister'
mipsel-linux-ld: drivers/staging/ralink-gdma/ralink-gdma.o: in function 
`gdma_dma_tx_status':
drivers/staging/ralink-gdma/ralink-gdma.c:683: undefined reference to 
`vchan_find_desc'
mipsel-linux-ld: drivers/staging/ralink-gdma/ralink-gdma.o: in function 
`gdma_dma_terminate_all':
drivers/staging/ralink-gdma/ralink-gdma.c:234: undefined reference to 
`vchan_dma_desc_free_list'
mipsel-linux-ld: drivers/staging/ralink-gdma/ralink-gdma.o: in function 
`vchan_free_chan_resources':
drivers/dma/virt-dma.h:199: undefined reference to `vchan_dma_desc_free_list'
mipsel-linux-ld: drivers/staging/ralink-gdma/ralink-gdma.o: in function 
`vchan_tx_prep':
drivers/dma/virt-dma.h:61: undefined reference to `dma_async_tx_descriptor_init'
mipsel-linux-ld: drivers/dma/virt-dma.h:63: undefined reference to 
`vchan_tx_submit'
mipsel-linux-ld: drivers/dma/virt-dma.h:63: undefined reference to 
`vchan_tx_submit'
mipsel-linux-ld: drivers/dma/virt-dma.h:64: undefined reference to 
`vchan_tx_desc_free'
mipsel-linux-ld: drivers/dma/virt-dma.h:64: undefined reference to 
`vchan_tx_desc_free'
mipsel-linux-ld: drivers/dma/virt-dma.h:61: undefined reference to 
`dma_async_tx_descriptor_init'
mipsel-linux-ld: drivers/dma/virt-dma.h:63: undefined reference to 
`vchan_tx_submit'
mipsel-linux-ld: drivers/dma/virt-dma.h:63: undefined reference to 
`vchan_tx_submit'
mipsel-linux-ld: drivers/dma/virt-dma.h:64: undefined reference to 
`vchan_tx_desc_free'
mipsel-linux-ld: drivers/dma/virt-dma.h:64: undefined reference to 
`vchan_tx_desc_free'
mipsel-linux-ld: drivers/dma/virt-dma.h:61: undefined reference to 
`dma_async_tx_descriptor_init'
mipsel-linux-ld: drivers/dma/virt-dma.h:63: undefined reference to 
`vchan_tx_submit'
mipsel-linux-ld: drivers/dma/virt-dma.h:63: undefined reference to 
`vchan_tx_submit'
mipsel-linux-ld: drivers/dma/virt-dma.h:64: undefined reference to 
`vchan_tx_desc_free'
mipsel-linux-ld: drivers/dma/virt-dma.h:64: undefined reference to 
`vchan_tx_desc_free'
mipsel-linux-ld: drivers/staging/ralink-gdma/ralink-gdma.o: in function 
`gdma_dma_probe':
drivers/staging/ralink-gdma/ralink-gdma.c:865: undefined reference to 
`vchan_init'
mipsel-linux-ld: drivers/staging/ralink-gdma/ralink-gdma.c:871: undefined 
reference to `dma_async_device_register'
mipsel-linux-ld: drivers/staging/ralink-gdma/ralink-gdma.c:889: undefined 
reference to `dma_async_device_unregister'
mipsel-linux-ld: drivers/ntb/ntb_transport.o: in function `ntb_async_tx_submit':
drivers/ntb/ntb_transport.c:1822: undefined reference to 
`dmaengine_get_unmap_data'
mipsel-linux-ld: drivers/ntb/ntb_transport.c:1847: undefined reference to 
`dmaengine_unmap_put'
mipsel-linux-ld: drivers/ntb/ntb_transport.c:1853: undefined reference to 
`dmaengine_unmap_put'
mipsel-linux-ld: drivers/ntb/ntb_transport.c:1855: undefined reference to 
`dmaengine_unmap_put'
mipsel-linux-ld: drivers/ntb/ntb_transport.o: in function 
`ntb_transport_free_queue':
drivers/ntb/ntb_transport.c:2131: undefined reference to `dma_sync_wait'
mipsel-linux-ld: drivers/ntb/ntb_transport.c:2138: undefined reference to 
`dma_release_channel'
mipsel-linux-ld: drivers/ntb/ntb_transport.c:2151: undefined reference to 
`dma_sync_wait'
mipsel-linux-ld: drivers/ntb/ntb_transport.c:2153: undefined reference to 
`dma_release_channel'
mipsel-linux-ld: drivers/ntb/ntb_transport.o: in function `ntb_async_rx_submit':
drivers/ntb/ntb_transport.c:1541: undefined reference to 
`dmaengine_get_unmap_data'
mipsel-linux-ld: drivers/ntb/ntb_transport.c:1574: undefined reference to 
`dmaengine_unmap_put'
mipsel-linux-ld: drivers/ntb/ntb_transport.c:1583: undefined reference to 
`dmaengine_unmap_put'
mipsel-linux-ld: drivers/ntb/ntb_transport.c:1585: undefined reference to 
`dmaengine_unmap_put'
mipsel-linux-ld: drivers/ntb/ntb_transport.o: in function 
`ntb_transport_create_queue':
>> drivers/ntb/ntb_transport.c:2019: undefined reference to 
>> `__dma_request_channel'
mipsel-linux-ld: drivers/ntb/ntb_transport.c:2025: undefined reference to 
`__dma_request_channel'
mipsel-linux-ld: drivers/ntb/ntb_transport.c:2093: undefined reference to 
`dma_release_channel'
mipsel-linux-ld: drivers/ntb/ntb_transport.c:2095: undefined reference to 
`dma_release_channel'

# 
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=277a10850f9f4cb3429faf59293e2c89b1a320be
git remote add linus 
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git remote update linus
git checkout 277a10850f9f4cb3429faf59293e2c89b1a320be
vim +2019 drivers/ntb/ntb_transport.c

1199aa61264a74 Allen Hubbe     2015-05-18  1961  
fce8a7bb5b4bfb Jon Mason       2012-11-16  1962  /**
fce8a7bb5b4bfb Jon Mason       2012-11-16  1963   * ntb_transport_create_queue 
- Create a new NTB transport layer queue
fce8a7bb5b4bfb Jon Mason       2012-11-16  1964   * @rx_handler: receive 
callback function
fce8a7bb5b4bfb Jon Mason       2012-11-16  1965   * @tx_handler: transmit 
callback function
fce8a7bb5b4bfb Jon Mason       2012-11-16  1966   * @event_handler: event 
callback function
fce8a7bb5b4bfb Jon Mason       2012-11-16  1967   *
fce8a7bb5b4bfb Jon Mason       2012-11-16  1968   * Create a new NTB transport 
layer queue and provide the queue with a callback
fce8a7bb5b4bfb Jon Mason       2012-11-16  1969   * routine for both transmit 
and receive.  The receive callback routine will be
fce8a7bb5b4bfb Jon Mason       2012-11-16  1970   * used to pass up data when 
the transport has received it on the queue.   The
fce8a7bb5b4bfb Jon Mason       2012-11-16  1971   * transmit callback routine 
will be called when the transport has completed the
fce8a7bb5b4bfb Jon Mason       2012-11-16  1972   * transmission of the data on 
the queue and the data is ready to be freed.
fce8a7bb5b4bfb Jon Mason       2012-11-16  1973   *
fce8a7bb5b4bfb Jon Mason       2012-11-16  1974   * RETURNS: pointer to newly 
created ntb_queue, NULL on error.
fce8a7bb5b4bfb Jon Mason       2012-11-16  1975   */
fce8a7bb5b4bfb Jon Mason       2012-11-16  1976  struct ntb_transport_qp *
e26a5843f7f501 Allen Hubbe     2015-04-09  1977  
ntb_transport_create_queue(void *data, struct device *client_dev,
fce8a7bb5b4bfb Jon Mason       2012-11-16  1978                            
const struct ntb_queue_handlers *handlers)
fce8a7bb5b4bfb Jon Mason       2012-11-16  1979  {
e26a5843f7f501 Allen Hubbe     2015-04-09  1980         struct ntb_dev *ndev;
e26a5843f7f501 Allen Hubbe     2015-04-09  1981         struct pci_dev *pdev;
e26a5843f7f501 Allen Hubbe     2015-04-09  1982         struct 
ntb_transport_ctx *nt;
fce8a7bb5b4bfb Jon Mason       2012-11-16  1983         struct ntb_queue_entry 
*entry;
fce8a7bb5b4bfb Jon Mason       2012-11-16  1984         struct ntb_transport_qp 
*qp;
e26a5843f7f501 Allen Hubbe     2015-04-09  1985         u64 qp_bit;
fce8a7bb5b4bfb Jon Mason       2012-11-16  1986         unsigned int free_queue;
1199aa61264a74 Allen Hubbe     2015-05-18  1987         dma_cap_mask_t dma_mask;
1199aa61264a74 Allen Hubbe     2015-05-18  1988         int node;
e26a5843f7f501 Allen Hubbe     2015-04-09  1989         int i;
fce8a7bb5b4bfb Jon Mason       2012-11-16  1990  
e26a5843f7f501 Allen Hubbe     2015-04-09  1991         ndev = 
dev_ntb(client_dev->parent);
e26a5843f7f501 Allen Hubbe     2015-04-09  1992         pdev = ndev->pdev;
e26a5843f7f501 Allen Hubbe     2015-04-09  1993         nt = ndev->ctx;
fce8a7bb5b4bfb Jon Mason       2012-11-16  1994  
1199aa61264a74 Allen Hubbe     2015-05-18  1995         node = 
dev_to_node(&ndev->dev);
1199aa61264a74 Allen Hubbe     2015-05-18  1996  
8fcd0950c021d7 Thomas VanSelus 2017-02-13  1997         free_queue = 
ffs(nt->qp_bitmap_free);
fce8a7bb5b4bfb Jon Mason       2012-11-16  1998         if (!free_queue)
fce8a7bb5b4bfb Jon Mason       2012-11-16  1999                 goto err;
fce8a7bb5b4bfb Jon Mason       2012-11-16  2000  
fce8a7bb5b4bfb Jon Mason       2012-11-16  2001         /* decrement free_queue 
to make it zero based */
fce8a7bb5b4bfb Jon Mason       2012-11-16  2002         free_queue--;
fce8a7bb5b4bfb Jon Mason       2012-11-16  2003  
e26a5843f7f501 Allen Hubbe     2015-04-09  2004         qp = 
&nt->qp_vec[free_queue];
e26a5843f7f501 Allen Hubbe     2015-04-09  2005         qp_bit = 
BIT_ULL(qp->qp_num);
e26a5843f7f501 Allen Hubbe     2015-04-09  2006  
e26a5843f7f501 Allen Hubbe     2015-04-09  2007         nt->qp_bitmap_free &= 
~qp_bit;
fce8a7bb5b4bfb Jon Mason       2012-11-16  2008  
fce8a7bb5b4bfb Jon Mason       2012-11-16  2009         qp->cb_data = data;
fce8a7bb5b4bfb Jon Mason       2012-11-16  2010         qp->rx_handler = 
handlers->rx_handler;
fce8a7bb5b4bfb Jon Mason       2012-11-16  2011         qp->tx_handler = 
handlers->tx_handler;
fce8a7bb5b4bfb Jon Mason       2012-11-16  2012         qp->event_handler = 
handlers->event_handler;
fce8a7bb5b4bfb Jon Mason       2012-11-16  2013  
1199aa61264a74 Allen Hubbe     2015-05-18  2014         dma_cap_zero(dma_mask);
1199aa61264a74 Allen Hubbe     2015-05-18  2015         dma_cap_set(DMA_MEMCPY, 
dma_mask);
1199aa61264a74 Allen Hubbe     2015-05-18  2016  
a41ef053f70061 Dave Jiang      2015-05-19  2017         if (use_dma) {
569410ca756cd3 Dave Jiang      2015-07-13  2018                 qp->tx_dma_chan 
=
569410ca756cd3 Dave Jiang      2015-07-13 @2019                         
dma_request_channel(dma_mask, ntb_dma_filter_fn,
569410ca756cd3 Dave Jiang      2015-07-13  2020                                 
            (void *)(unsigned long)node);
569410ca756cd3 Dave Jiang      2015-07-13  2021                 if 
(!qp->tx_dma_chan)
569410ca756cd3 Dave Jiang      2015-07-13  2022                         
dev_info(&pdev->dev, "Unable to allocate TX DMA channel\n");
569410ca756cd3 Dave Jiang      2015-07-13  2023  
569410ca756cd3 Dave Jiang      2015-07-13  2024                 qp->rx_dma_chan 
=
569410ca756cd3 Dave Jiang      2015-07-13  2025                         
dma_request_channel(dma_mask, ntb_dma_filter_fn,
1199aa61264a74 Allen Hubbe     2015-05-18  2026                                 
            (void *)(unsigned long)node);
569410ca756cd3 Dave Jiang      2015-07-13  2027                 if 
(!qp->rx_dma_chan)
569410ca756cd3 Dave Jiang      2015-07-13  2028                         
dev_info(&pdev->dev, "Unable to allocate RX DMA channel\n");
a41ef053f70061 Dave Jiang      2015-05-19  2029         } else {
569410ca756cd3 Dave Jiang      2015-07-13  2030                 qp->tx_dma_chan 
= NULL;
569410ca756cd3 Dave Jiang      2015-07-13  2031                 qp->rx_dma_chan 
= NULL;
a41ef053f70061 Dave Jiang      2015-05-19  2032         }
569410ca756cd3 Dave Jiang      2015-07-13  2033  
51cb8dbf13246a Logan Gunthorpe 2019-02-19  2034         qp->tx_mw_dma_addr = 0;
c59666bb32b91d Logan Gunthorpe 2019-01-18  2035         if (qp->tx_dma_chan) {
c59666bb32b91d Logan Gunthorpe 2019-01-18  2036                 
qp->tx_mw_dma_addr =
c59666bb32b91d Logan Gunthorpe 2019-01-18  2037                         
dma_map_resource(qp->tx_dma_chan->device->dev,
c59666bb32b91d Logan Gunthorpe 2019-01-18  2038                                 
         qp->tx_mw_phys, qp->tx_mw_size,
c59666bb32b91d Logan Gunthorpe 2019-01-18  2039                                 
         DMA_FROM_DEVICE, 0);
c59666bb32b91d Logan Gunthorpe 2019-01-18  2040                 if 
(dma_mapping_error(qp->tx_dma_chan->device->dev,
c59666bb32b91d Logan Gunthorpe 2019-01-18  2041                                 
      qp->tx_mw_dma_addr)) {
c59666bb32b91d Logan Gunthorpe 2019-01-18  2042                         
qp->tx_mw_dma_addr = 0;
c59666bb32b91d Logan Gunthorpe 2019-01-18  2043                         goto 
err1;
c59666bb32b91d Logan Gunthorpe 2019-01-18  2044                 }
c59666bb32b91d Logan Gunthorpe 2019-01-18  2045         }
c59666bb32b91d Logan Gunthorpe 2019-01-18  2046  
569410ca756cd3 Dave Jiang      2015-07-13  2047         dev_dbg(&pdev->dev, 
"Using %s memcpy for TX\n",
569410ca756cd3 Dave Jiang      2015-07-13  2048                 qp->tx_dma_chan 
? "DMA" : "CPU");
569410ca756cd3 Dave Jiang      2015-07-13  2049  
569410ca756cd3 Dave Jiang      2015-07-13  2050         dev_dbg(&pdev->dev, 
"Using %s memcpy for RX\n",
569410ca756cd3 Dave Jiang      2015-07-13  2051                 qp->rx_dma_chan 
? "DMA" : "CPU");
282a2feeb9bfb1 Jon Mason       2013-02-12  2052  
fce8a7bb5b4bfb Jon Mason       2012-11-16  2053         for (i = 0; i < 
NTB_QP_DEF_NUM_ENTRIES; i++) {
c9160b69258ef4 Jia-Ju Bai      2018-04-10  2054                 entry = 
kzalloc_node(sizeof(*entry), GFP_KERNEL, node);
fce8a7bb5b4bfb Jon Mason       2012-11-16  2055                 if (!entry)
fce8a7bb5b4bfb Jon Mason       2012-11-16  2056                         goto 
err1;
fce8a7bb5b4bfb Jon Mason       2012-11-16  2057  
282a2feeb9bfb1 Jon Mason       2013-02-12  2058                 entry->qp = qp;
da2e5ae56164b8 Allen Hubbe     2015-07-13  2059                 
ntb_list_add(&qp->ntb_rx_q_lock, &entry->entry,
fce8a7bb5b4bfb Jon Mason       2012-11-16  2060                              
&qp->rx_free_q);
fce8a7bb5b4bfb Jon Mason       2012-11-16  2061         }
a754a8fcaf383b Dave Jiang      2016-04-08  2062         qp->rx_alloc_entry = 
NTB_QP_DEF_NUM_ENTRIES;
fce8a7bb5b4bfb Jon Mason       2012-11-16  2063  
a754a8fcaf383b Dave Jiang      2016-04-08  2064         for (i = 0; i < 
qp->tx_max_entry; i++) {
c9160b69258ef4 Jia-Ju Bai      2018-04-10  2065                 entry = 
kzalloc_node(sizeof(*entry), GFP_KERNEL, node);
fce8a7bb5b4bfb Jon Mason       2012-11-16  2066                 if (!entry)
fce8a7bb5b4bfb Jon Mason       2012-11-16  2067                         goto 
err2;
fce8a7bb5b4bfb Jon Mason       2012-11-16  2068  
282a2feeb9bfb1 Jon Mason       2013-02-12  2069                 entry->qp = qp;
fce8a7bb5b4bfb Jon Mason       2012-11-16  2070                 
ntb_list_add(&qp->ntb_tx_free_q_lock, &entry->entry,
fce8a7bb5b4bfb Jon Mason       2012-11-16  2071                              
&qp->tx_free_q);
fce8a7bb5b4bfb Jon Mason       2012-11-16  2072         }
fce8a7bb5b4bfb Jon Mason       2012-11-16  2073  
e26a5843f7f501 Allen Hubbe     2015-04-09  2074         ntb_db_clear(qp->ndev, 
qp_bit);
e26a5843f7f501 Allen Hubbe     2015-04-09  2075         
ntb_db_clear_mask(qp->ndev, qp_bit);
fce8a7bb5b4bfb Jon Mason       2012-11-16  2076  
fce8a7bb5b4bfb Jon Mason       2012-11-16  2077         dev_info(&pdev->dev, 
"NTB Transport QP %d created\n", qp->qp_num);
fce8a7bb5b4bfb Jon Mason       2012-11-16  2078  
fce8a7bb5b4bfb Jon Mason       2012-11-16  2079         return qp;
fce8a7bb5b4bfb Jon Mason       2012-11-16  2080  
fce8a7bb5b4bfb Jon Mason       2012-11-16  2081  err2:
f766755c3057c3 Jon Mason       2013-01-19  2082         while ((entry = 
ntb_list_rm(&qp->ntb_tx_free_q_lock, &qp->tx_free_q)))
fce8a7bb5b4bfb Jon Mason       2012-11-16  2083                 kfree(entry);
fce8a7bb5b4bfb Jon Mason       2012-11-16  2084  err1:
a754a8fcaf383b Dave Jiang      2016-04-08  2085         qp->rx_alloc_entry = 0;
da2e5ae56164b8 Allen Hubbe     2015-07-13  2086         while ((entry = 
ntb_list_rm(&qp->ntb_rx_q_lock, &qp->rx_free_q)))
fce8a7bb5b4bfb Jon Mason       2012-11-16  2087                 kfree(entry);
c59666bb32b91d Logan Gunthorpe 2019-01-18  2088         if (qp->tx_mw_dma_addr)
c59666bb32b91d Logan Gunthorpe 2019-01-18  2089                 
dma_unmap_resource(qp->tx_dma_chan->device->dev,
c59666bb32b91d Logan Gunthorpe 2019-01-18  2090                                 
   qp->tx_mw_dma_addr, qp->tx_mw_size,
c59666bb32b91d Logan Gunthorpe 2019-01-18  2091                                 
   DMA_FROM_DEVICE, 0);
569410ca756cd3 Dave Jiang      2015-07-13  2092         if (qp->tx_dma_chan)
569410ca756cd3 Dave Jiang      2015-07-13  2093                 
dma_release_channel(qp->tx_dma_chan);
569410ca756cd3 Dave Jiang      2015-07-13  2094         if (qp->rx_dma_chan)
569410ca756cd3 Dave Jiang      2015-07-13  2095                 
dma_release_channel(qp->rx_dma_chan);
e26a5843f7f501 Allen Hubbe     2015-04-09  2096         nt->qp_bitmap_free |= 
qp_bit;
fce8a7bb5b4bfb Jon Mason       2012-11-16  2097  err:
fce8a7bb5b4bfb Jon Mason       2012-11-16  2098         return NULL;
fce8a7bb5b4bfb Jon Mason       2012-11-16  2099  }
fce8a7bb5b4bfb Jon Mason       2012-11-16  2100  
EXPORT_SYMBOL_GPL(ntb_transport_create_queue);
fce8a7bb5b4bfb Jon Mason       2012-11-16  2101  

:::::: The code at line 2019 was first introduced by commit
:::::: 569410ca756cd3ebb15609cb6828a8393fb6384d NTB: Use unique DMA channels 
for TX and RX

:::::: TO: Dave Jiang <[email protected]>
:::::: CC: Jon Mason <[email protected]>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/[email protected]

Attachment: .config.gz
Description: application/gzip

_______________________________________________
kbuild mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to