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]
.config.gz
Description: application/gzip
_______________________________________________ kbuild mailing list -- [email protected] To unsubscribe send an email to [email protected]
