[staging:staging-testing 278/280] drivers/most/core.c:1287 most_register_interface() error: we previously assumed 'iface' could be null (see line 1285)
by Dan Carpenter
Hi Christian,
First bad commit (maybe != root cause):
tree: https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git staging-testing
head: 4a1a3e9bf5654e98bb48f5b074af17af96ded30d
commit: b276527539188f1f61c082ebef27803db93e536d [278/280] staging: most: move core files out of the staging area
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp(a)intel.com>
Reported-by: Dan Carpenter <dan.carpenter(a)oracle.com>
smatch warnings:
drivers/most/core.c:1287 most_register_interface() error: we previously assumed 'iface' could be null (see line 1285)
# https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git/commit...
git remote add staging https://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging.git
git remote update staging
git checkout b276527539188f1f61c082ebef27803db93e536d
vim +/iface +1287 drivers/most/core.c
4d5f022f3a664e drivers/staging/most/core.c Christian Gromm 2017-11-21 1279 int most_register_interface(struct most_interface *iface)
57562a72414ca3 drivers/staging/most/mostcore/core.c Christian Gromm 2015-07-24 1280 {
57562a72414ca3 drivers/staging/most/mostcore/core.c Christian Gromm 2015-07-24 1281 unsigned int i;
57562a72414ca3 drivers/staging/most/mostcore/core.c Christian Gromm 2015-07-24 1282 int id;
fcb7fad82e23f6 drivers/staging/most/core.c Christian Gromm 2017-11-21 1283 struct most_channel *c;
57562a72414ca3 drivers/staging/most/mostcore/core.c Christian Gromm 2015-07-24 1284
57562a72414ca3 drivers/staging/most/mostcore/core.c Christian Gromm 2015-07-24 @1285 if (!iface || !iface->enqueue || !iface->configure ||
^^^^^^
57562a72414ca3 drivers/staging/most/mostcore/core.c Christian Gromm 2015-07-24 1286 !iface->poison_channel || (iface->num_channels > MAX_CHANNELS)) {
6a82c775812944 drivers/staging/most/core.c Christian Gromm 2020-01-23 @1287 dev_err(iface->dev, "Bad interface or channel overflow\n");
^^^^^^^^^^
Hopefully, we can just remove the NULL check?
4d5f022f3a664e drivers/staging/most/core.c Christian Gromm 2017-11-21 1288 return -EINVAL;
57562a72414ca3 drivers/staging/most/mostcore/core.c Christian Gromm 2015-07-24 1289 }
57562a72414ca3 drivers/staging/most/mostcore/core.c Christian Gromm 2015-07-24 1290
57562a72414ca3 drivers/staging/most/mostcore/core.c Christian Gromm 2015-07-24 1291 id = ida_simple_get(&mdev_id, 0, 0, GFP_KERNEL);
57562a72414ca3 drivers/staging/most/mostcore/core.c Christian Gromm 2015-07-24 1292 if (id < 0) {
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 1 month
Re: [PATCH v2] spi: spi-geni-qcom: Speculative fix of "nobody cared" about interrupt
by Dan Carpenter
Hi Douglas,
url: https://github.com/0day-ci/linux/commits/Douglas-Anderson/spi-spi-geni-qc...
base: https://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi.git for-next
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp(a)intel.com>
Reported-by: Dan Carpenter <dan.carpenter(a)oracle.com>
smatch warnings:
drivers/spi/spi-geni-qcom.c:385 setup_fifo_xfer() warn: inconsistent returns 'irq'.
drivers/spi/spi-geni-qcom.c:385 setup_fifo_xfer() warn: inconsistent returns 'mas->lock'.
# https://github.com/0day-ci/linux/commit/365ef891fdac5e58b1f621b0b0d57608f...
git remote add linux-review https://github.com/0day-ci/linux
git remote update linux-review
git checkout 365ef891fdac5e58b1f621b0b0d57608ffafeb2b
vim +/irq +385 drivers/spi/spi-geni-qcom.c
561de45f72bd5f Girish Mahadevan 2018-10-03 305 static void setup_fifo_xfer(struct spi_transfer *xfer,
561de45f72bd5f Girish Mahadevan 2018-10-03 306 struct spi_geni_master *mas,
561de45f72bd5f Girish Mahadevan 2018-10-03 307 u16 mode, struct spi_master *spi)
561de45f72bd5f Girish Mahadevan 2018-10-03 308 {
561de45f72bd5f Girish Mahadevan 2018-10-03 309 u32 m_cmd = 0;
561de45f72bd5f Girish Mahadevan 2018-10-03 310 u32 spi_tx_cfg, len;
561de45f72bd5f Girish Mahadevan 2018-10-03 311 struct geni_se *se = &mas->se;
561de45f72bd5f Girish Mahadevan 2018-10-03 312
365ef891fdac5e Douglas Anderson 2020-03-17 313 spin_lock_irq(&mas->lock);
365ef891fdac5e Douglas Anderson 2020-03-17 314
561de45f72bd5f Girish Mahadevan 2018-10-03 315 spi_tx_cfg = readl(se->base + SE_SPI_TRANS_CFG);
561de45f72bd5f Girish Mahadevan 2018-10-03 316 if (xfer->bits_per_word != mas->cur_bits_per_word) {
561de45f72bd5f Girish Mahadevan 2018-10-03 317 spi_setup_word_len(mas, mode, xfer->bits_per_word);
561de45f72bd5f Girish Mahadevan 2018-10-03 318 mas->cur_bits_per_word = xfer->bits_per_word;
561de45f72bd5f Girish Mahadevan 2018-10-03 319 }
561de45f72bd5f Girish Mahadevan 2018-10-03 320
561de45f72bd5f Girish Mahadevan 2018-10-03 321 /* Speed and bits per word can be overridden per transfer */
561de45f72bd5f Girish Mahadevan 2018-10-03 322 if (xfer->speed_hz != mas->cur_speed_hz) {
561de45f72bd5f Girish Mahadevan 2018-10-03 323 int ret;
561de45f72bd5f Girish Mahadevan 2018-10-03 324 u32 clk_sel, m_clk_cfg;
561de45f72bd5f Girish Mahadevan 2018-10-03 325 unsigned int idx, div;
561de45f72bd5f Girish Mahadevan 2018-10-03 326
561de45f72bd5f Girish Mahadevan 2018-10-03 327 ret = get_spi_clk_cfg(xfer->speed_hz, mas, &idx, &div);
561de45f72bd5f Girish Mahadevan 2018-10-03 328 if (ret) {
561de45f72bd5f Girish Mahadevan 2018-10-03 329 dev_err(mas->dev, "Err setting clks:%d\n", ret);
561de45f72bd5f Girish Mahadevan 2018-10-03 330 return;
Needs to drop the lock before returning.
561de45f72bd5f Girish Mahadevan 2018-10-03 331 }
561de45f72bd5f Girish Mahadevan 2018-10-03 332 /*
561de45f72bd5f Girish Mahadevan 2018-10-03 333 * SPI core clock gets configured with the requested frequency
561de45f72bd5f Girish Mahadevan 2018-10-03 334 * or the frequency closer to the requested frequency.
561de45f72bd5f Girish Mahadevan 2018-10-03 335 * For that reason requested frequency is stored in the
561de45f72bd5f Girish Mahadevan 2018-10-03 336 * cur_speed_hz and referred in the consecutive transfer instead
561de45f72bd5f Girish Mahadevan 2018-10-03 337 * of calling clk_get_rate() API.
561de45f72bd5f Girish Mahadevan 2018-10-03 338 */
561de45f72bd5f Girish Mahadevan 2018-10-03 339 mas->cur_speed_hz = xfer->speed_hz;
561de45f72bd5f Girish Mahadevan 2018-10-03 340 clk_sel = idx & CLK_SEL_MSK;
561de45f72bd5f Girish Mahadevan 2018-10-03 341 m_clk_cfg = (div << CLK_DIV_SHFT) | SER_CLK_EN;
561de45f72bd5f Girish Mahadevan 2018-10-03 342 writel(clk_sel, se->base + SE_GENI_CLK_SEL);
561de45f72bd5f Girish Mahadevan 2018-10-03 343 writel(m_clk_cfg, se->base + GENI_SER_M_CLK_CFG);
561de45f72bd5f Girish Mahadevan 2018-10-03 344 }
561de45f72bd5f Girish Mahadevan 2018-10-03 345
561de45f72bd5f Girish Mahadevan 2018-10-03 346 mas->tx_rem_bytes = 0;
561de45f72bd5f Girish Mahadevan 2018-10-03 347 mas->rx_rem_bytes = 0;
561de45f72bd5f Girish Mahadevan 2018-10-03 348 if (xfer->tx_buf && xfer->rx_buf)
561de45f72bd5f Girish Mahadevan 2018-10-03 349 m_cmd = SPI_FULL_DUPLEX;
561de45f72bd5f Girish Mahadevan 2018-10-03 350 else if (xfer->tx_buf)
561de45f72bd5f Girish Mahadevan 2018-10-03 351 m_cmd = SPI_TX_ONLY;
561de45f72bd5f Girish Mahadevan 2018-10-03 352 else if (xfer->rx_buf)
561de45f72bd5f Girish Mahadevan 2018-10-03 353 m_cmd = SPI_RX_ONLY;
561de45f72bd5f Girish Mahadevan 2018-10-03 354
561de45f72bd5f Girish Mahadevan 2018-10-03 355 spi_tx_cfg &= ~CS_TOGGLE;
561de45f72bd5f Girish Mahadevan 2018-10-03 356
561de45f72bd5f Girish Mahadevan 2018-10-03 357 if (!(mas->cur_bits_per_word % MIN_WORD_LEN))
561de45f72bd5f Girish Mahadevan 2018-10-03 358 len = xfer->len * BITS_PER_BYTE / mas->cur_bits_per_word;
561de45f72bd5f Girish Mahadevan 2018-10-03 359 else
561de45f72bd5f Girish Mahadevan 2018-10-03 360 len = xfer->len / (mas->cur_bits_per_word / BITS_PER_BYTE + 1);
561de45f72bd5f Girish Mahadevan 2018-10-03 361 len &= TRANS_LEN_MSK;
561de45f72bd5f Girish Mahadevan 2018-10-03 362
561de45f72bd5f Girish Mahadevan 2018-10-03 363 mas->cur_xfer = xfer;
561de45f72bd5f Girish Mahadevan 2018-10-03 364 if (m_cmd & SPI_TX_ONLY) {
561de45f72bd5f Girish Mahadevan 2018-10-03 365 mas->tx_rem_bytes = xfer->len;
561de45f72bd5f Girish Mahadevan 2018-10-03 366 writel(len, se->base + SE_SPI_TX_TRANS_LEN);
561de45f72bd5f Girish Mahadevan 2018-10-03 367 }
561de45f72bd5f Girish Mahadevan 2018-10-03 368
561de45f72bd5f Girish Mahadevan 2018-10-03 369 if (m_cmd & SPI_RX_ONLY) {
561de45f72bd5f Girish Mahadevan 2018-10-03 370 writel(len, se->base + SE_SPI_RX_TRANS_LEN);
561de45f72bd5f Girish Mahadevan 2018-10-03 371 mas->rx_rem_bytes = xfer->len;
561de45f72bd5f Girish Mahadevan 2018-10-03 372 }
561de45f72bd5f Girish Mahadevan 2018-10-03 373 writel(spi_tx_cfg, se->base + SE_SPI_TRANS_CFG);
561de45f72bd5f Girish Mahadevan 2018-10-03 374 mas->cur_mcmd = CMD_XFER;
561de45f72bd5f Girish Mahadevan 2018-10-03 375 geni_se_setup_m_cmd(se, m_cmd, FRAGMENTATION);
561de45f72bd5f Girish Mahadevan 2018-10-03 376
561de45f72bd5f Girish Mahadevan 2018-10-03 377 /*
561de45f72bd5f Girish Mahadevan 2018-10-03 378 * TX_WATERMARK_REG should be set after SPI configuration and
561de45f72bd5f Girish Mahadevan 2018-10-03 379 * setting up GENI SE engine, as driver starts data transfer
561de45f72bd5f Girish Mahadevan 2018-10-03 380 * for the watermark interrupt.
561de45f72bd5f Girish Mahadevan 2018-10-03 381 */
561de45f72bd5f Girish Mahadevan 2018-10-03 382 if (m_cmd & SPI_TX_ONLY)
561de45f72bd5f Girish Mahadevan 2018-10-03 383 writel(mas->tx_wm, se->base + SE_GENI_TX_WATERMARK_REG);
365ef891fdac5e Douglas Anderson 2020-03-17 384
365ef891fdac5e Douglas Anderson 2020-03-17 @385 spin_unlock_irq(&mas->lock);
561de45f72bd5f Girish Mahadevan 2018-10-03 386 }
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 1 month
[drm-drm-intel:drm-intel-next-queued 1/1] drivers/gpu/drm/i915/gt/intel_context.c:147 __intel_context_do_pin() warn: inconsistent returns 'ce->pin_mutex'.
by Dan Carpenter
tree: git://anongit.freedesktop.org/drm/drm-intel drm-intel-next-queued
head: b412c63f1cba70b0e21927ae840aa45e024be97f
commit: b412c63f1cba70b0e21927ae840aa45e024be97f [1/1] drm/i915/gt: Report context-is-closed prior to pinning
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp(a)intel.com>
Reported-by: Dan Carpenter <dan.carpenter(a)oracle.com>
smatch warnings:
drivers/gpu/drm/i915/gt/intel_context.c:147 __intel_context_do_pin() warn: inconsistent returns 'ce->pin_mutex'.
git remote add drm-drm-intel git://anongit.freedesktop.org/drm/drm-intel
git remote update drm-drm-intel
git checkout b412c63f1cba70b0e21927ae840aa45e024be97f
vim +147 drivers/gpu/drm/i915/gt/intel_context.c
89f98d634f6b7a drivers/gpu/drm/i915/gt/intel_context.c Chris Wilson 2020-01-09 96 int __intel_context_do_pin(struct intel_context *ce)
89f98d634f6b7a drivers/gpu/drm/i915/gt/intel_context.c Chris Wilson 2020-01-09 97 {
89f98d634f6b7a drivers/gpu/drm/i915/gt/intel_context.c Chris Wilson 2020-01-09 98 int err;
89f98d634f6b7a drivers/gpu/drm/i915/gt/intel_context.c Chris Wilson 2020-01-09 99
89f98d634f6b7a drivers/gpu/drm/i915/gt/intel_context.c Chris Wilson 2020-01-09 100 if (unlikely(!test_bit(CONTEXT_ALLOC_BIT, &ce->flags))) {
89f98d634f6b7a drivers/gpu/drm/i915/gt/intel_context.c Chris Wilson 2020-01-09 101 err = intel_context_alloc_state(ce);
89f98d634f6b7a drivers/gpu/drm/i915/gt/intel_context.c Chris Wilson 2020-01-09 102 if (err)
89f98d634f6b7a drivers/gpu/drm/i915/gt/intel_context.c Chris Wilson 2020-01-09 103 return err;
4c60b1aaa25520 drivers/gpu/drm/i915/gt/intel_context.c Chris Wilson 2019-08-09 104 }
4c60b1aaa25520 drivers/gpu/drm/i915/gt/intel_context.c Chris Wilson 2019-08-09 105
e5429340bfa2dc drivers/gpu/drm/i915/gt/intel_context.c Chris Wilson 2020-01-27 106 err = i915_active_acquire(&ce->active);
e5429340bfa2dc drivers/gpu/drm/i915/gt/intel_context.c Chris Wilson 2020-01-27 107 if (err)
e5429340bfa2dc drivers/gpu/drm/i915/gt/intel_context.c Chris Wilson 2020-01-27 108 return err;
e5429340bfa2dc drivers/gpu/drm/i915/gt/intel_context.c Chris Wilson 2020-01-27 109
e5429340bfa2dc drivers/gpu/drm/i915/gt/intel_context.c Chris Wilson 2020-01-27 110 if (mutex_lock_interruptible(&ce->pin_mutex)) {
e5429340bfa2dc drivers/gpu/drm/i915/gt/intel_context.c Chris Wilson 2020-01-27 111 err = -EINTR;
e5429340bfa2dc drivers/gpu/drm/i915/gt/intel_context.c Chris Wilson 2020-01-27 112 goto out_release;
e5429340bfa2dc drivers/gpu/drm/i915/gt/intel_context.c Chris Wilson 2020-01-27 113 }
89f98d634f6b7a drivers/gpu/drm/i915/gt/intel_context.c Chris Wilson 2020-01-09 114
b412c63f1cba70 drivers/gpu/drm/i915/gt/intel_context.c Chris Wilson 2020-03-20 115 if (unlikely(intel_context_is_closed(ce))) {
b412c63f1cba70 drivers/gpu/drm/i915/gt/intel_context.c Chris Wilson 2020-03-20 116 err = -ENOENT;
b412c63f1cba70 drivers/gpu/drm/i915/gt/intel_context.c Chris Wilson 2020-03-20 117 goto out_release;
This should be "goto out_unlock;"
b412c63f1cba70 drivers/gpu/drm/i915/gt/intel_context.c Chris Wilson 2020-03-20 118 }
b412c63f1cba70 drivers/gpu/drm/i915/gt/intel_context.c Chris Wilson 2020-03-20 119
e5429340bfa2dc drivers/gpu/drm/i915/gt/intel_context.c Chris Wilson 2020-01-27 120 if (likely(!atomic_add_unless(&ce->pin_count, 1, 0))) {
b11b28ea0dd16c drivers/gpu/drm/i915/gt/intel_context.c Chris Wilson 2020-01-09 121 err = intel_context_active_acquire(ce);
b11b28ea0dd16c drivers/gpu/drm/i915/gt/intel_context.c Chris Wilson 2020-01-09 122 if (unlikely(err))
e5429340bfa2dc drivers/gpu/drm/i915/gt/intel_context.c Chris Wilson 2020-01-27 123 goto out_unlock;
b11b28ea0dd16c drivers/gpu/drm/i915/gt/intel_context.c Chris Wilson 2020-01-09 124
95f697eb024d7d drivers/gpu/drm/i915/intel_context.c Chris Wilson 2019-03-08 125 err = ce->ops->pin(ce);
b11b28ea0dd16c drivers/gpu/drm/i915/gt/intel_context.c Chris Wilson 2020-01-09 126 if (unlikely(err))
b11b28ea0dd16c drivers/gpu/drm/i915/gt/intel_context.c Chris Wilson 2020-01-09 127 goto err_active;
95f697eb024d7d drivers/gpu/drm/i915/intel_context.c Chris Wilson 2019-03-08 128
c616d2387aeeb9 drivers/gpu/drm/i915/gt/intel_context.c Chris Wilson 2020-02-11 129 CE_TRACE(ce, "pin ring:{start:%08x, head:%04x, tail:%04x}\n",
c616d2387aeeb9 drivers/gpu/drm/i915/gt/intel_context.c Chris Wilson 2020-02-11 130 i915_ggtt_offset(ce->ring->vma),
cba17e5d647b4d drivers/gpu/drm/i915/gt/intel_context.c Chris Wilson 2019-06-25 131 ce->ring->head, ce->ring->tail);
cba17e5d647b4d drivers/gpu/drm/i915/gt/intel_context.c Chris Wilson 2019-06-25 132
0881954965e3d9 drivers/gpu/drm/i915/intel_context.c Chris Wilson 2019-03-08 133 smp_mb__before_atomic(); /* flush pin before it is visible */
e5429340bfa2dc drivers/gpu/drm/i915/gt/intel_context.c Chris Wilson 2020-01-27 134 atomic_inc(&ce->pin_count);
95f697eb024d7d drivers/gpu/drm/i915/intel_context.c Chris Wilson 2019-03-08 135 }
95f697eb024d7d drivers/gpu/drm/i915/intel_context.c Chris Wilson 2019-03-08 136
0881954965e3d9 drivers/gpu/drm/i915/intel_context.c Chris Wilson 2019-03-08 137 GEM_BUG_ON(!intel_context_is_pinned(ce)); /* no overflow! */
e5429340bfa2dc drivers/gpu/drm/i915/gt/intel_context.c Chris Wilson 2020-01-27 138 GEM_BUG_ON(i915_active_is_idle(&ce->active));
e5429340bfa2dc drivers/gpu/drm/i915/gt/intel_context.c Chris Wilson 2020-01-27 139 goto out_unlock;
95f697eb024d7d drivers/gpu/drm/i915/intel_context.c Chris Wilson 2019-03-08 140
b11b28ea0dd16c drivers/gpu/drm/i915/gt/intel_context.c Chris Wilson 2020-01-09 141 err_active:
b11b28ea0dd16c drivers/gpu/drm/i915/gt/intel_context.c Chris Wilson 2020-01-09 142 intel_context_active_release(ce);
e5429340bfa2dc drivers/gpu/drm/i915/gt/intel_context.c Chris Wilson 2020-01-27 143 out_unlock:
0881954965e3d9 drivers/gpu/drm/i915/intel_context.c Chris Wilson 2019-03-08 144 mutex_unlock(&ce->pin_mutex);
e5429340bfa2dc drivers/gpu/drm/i915/gt/intel_context.c Chris Wilson 2020-01-27 145 out_release:
e5429340bfa2dc drivers/gpu/drm/i915/gt/intel_context.c Chris Wilson 2020-01-27 146 i915_active_release(&ce->active);
fa9f668141f4e5 drivers/gpu/drm/i915/gt/intel_context.c Chris Wilson 2019-04-26 @147 return err;
95f697eb024d7d drivers/gpu/drm/i915/intel_context.c Chris Wilson 2019-03-08 148 }
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 1 month
[jkirsher-next-queue:dev-queue 49/49] drivers/net/ethernet/intel/igc/igc_diag.c:161 igc_reg_test() error: uninitialized symbol 'b'.
by Dan Carpenter
tree: https://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue.git dev-queue
head: a6017405fcd0cda0cd9f35b34cae92400cf9e3e3
commit: a6017405fcd0cda0cd9f35b34cae92400cf9e3e3 [49/49] igc: add support to interrupt, eeprom, registers and link self-tests
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp(a)intel.com>
Reported-by: Dan Carpenter <dan.carpenter(a)oracle.com>
smatch warnings:
drivers/net/ethernet/intel/igc/igc_diag.c:161 igc_reg_test() error: uninitialized symbol 'b'.
# https://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue.git/c...
git remote add jkirsher-next-queue https://git.kernel.org/pub/scm/linux/kernel/git/jkirsher/next-queue.git
git remote update jkirsher-next-queue
git checkout a6017405fcd0cda0cd9f35b34cae92400cf9e3e3
vim +/b +161 drivers/net/ethernet/intel/igc/igc_diag.c
a6017405fcd0cd Vitaly Lifshits 2020-03-17 90 bool igc_reg_test(struct igc_adapter *adapter, u64 *data)
a6017405fcd0cd Vitaly Lifshits 2020-03-17 91 {
a6017405fcd0cd Vitaly Lifshits 2020-03-17 92 struct igc_reg_test *test = reg_test;
a6017405fcd0cd Vitaly Lifshits 2020-03-17 93 struct igc_hw *hw = &adapter->hw;
a6017405fcd0cd Vitaly Lifshits 2020-03-17 94 u32 value, before, after;
a6017405fcd0cd Vitaly Lifshits 2020-03-17 95 u32 i, toggle, b;
a6017405fcd0cd Vitaly Lifshits 2020-03-17 96
a6017405fcd0cd Vitaly Lifshits 2020-03-17 97 if (IGC_REMOVED(hw->hw_addr)) {
a6017405fcd0cd Vitaly Lifshits 2020-03-17 98 dev_err(&adapter->pdev->dev, "Adapter removed - register test blocked\n");
a6017405fcd0cd Vitaly Lifshits 2020-03-17 99 *data = 1;
a6017405fcd0cd Vitaly Lifshits 2020-03-17 100 return true;
This function returns true on failure and false on success?
a6017405fcd0cd Vitaly Lifshits 2020-03-17 101 }
a6017405fcd0cd Vitaly Lifshits 2020-03-17 102
a6017405fcd0cd Vitaly Lifshits 2020-03-17 103 /* Because the status register is such a special case,
a6017405fcd0cd Vitaly Lifshits 2020-03-17 104 * we handle it separately from the rest of the register
a6017405fcd0cd Vitaly Lifshits 2020-03-17 105 * tests. Some bits are read-only, some toggle, and some
a6017405fcd0cd Vitaly Lifshits 2020-03-17 106 * are writeable.
a6017405fcd0cd Vitaly Lifshits 2020-03-17 107 */
a6017405fcd0cd Vitaly Lifshits 2020-03-17 108
a6017405fcd0cd Vitaly Lifshits 2020-03-17 109 toggle = 0x6800D3;
a6017405fcd0cd Vitaly Lifshits 2020-03-17 110 before = rd32(IGC_STATUS);
a6017405fcd0cd Vitaly Lifshits 2020-03-17 111 value = before & toggle;
a6017405fcd0cd Vitaly Lifshits 2020-03-17 112 wr32(IGC_STATUS, toggle);
a6017405fcd0cd Vitaly Lifshits 2020-03-17 113 after = rd32(IGC_STATUS) & toggle;
a6017405fcd0cd Vitaly Lifshits 2020-03-17 114 if (value != after) {
a6017405fcd0cd Vitaly Lifshits 2020-03-17 115 dev_err(&adapter->pdev->dev,
a6017405fcd0cd Vitaly Lifshits 2020-03-17 116 "failed STATUS register test got: 0x%08X expected: 0x%08X\n",
a6017405fcd0cd Vitaly Lifshits 2020-03-17 117 after, value);
a6017405fcd0cd Vitaly Lifshits 2020-03-17 118 *data = 1;
a6017405fcd0cd Vitaly Lifshits 2020-03-17 119 return 1;
a6017405fcd0cd Vitaly Lifshits 2020-03-17 120 }
a6017405fcd0cd Vitaly Lifshits 2020-03-17 121 /* restore previous status */
a6017405fcd0cd Vitaly Lifshits 2020-03-17 122 wr32(IGC_STATUS, before);
a6017405fcd0cd Vitaly Lifshits 2020-03-17 123
a6017405fcd0cd Vitaly Lifshits 2020-03-17 124 /* Perform the remainder of the register test, looping through
a6017405fcd0cd Vitaly Lifshits 2020-03-17 125 * the test table until we either fail or reach the null entry.
a6017405fcd0cd Vitaly Lifshits 2020-03-17 126 */
a6017405fcd0cd Vitaly Lifshits 2020-03-17 127 while (test->reg) {
a6017405fcd0cd Vitaly Lifshits 2020-03-17 128 for (i = 0; i < test->array_len; i++) {
a6017405fcd0cd Vitaly Lifshits 2020-03-17 129 switch (test->test_type) {
a6017405fcd0cd Vitaly Lifshits 2020-03-17 130 case PATTERN_TEST:
a6017405fcd0cd Vitaly Lifshits 2020-03-17 131 b = reg_pattern_test(adapter, data,
a6017405fcd0cd Vitaly Lifshits 2020-03-17 132 test->reg + (i * 0x40),
a6017405fcd0cd Vitaly Lifshits 2020-03-17 133 test->mask,
a6017405fcd0cd Vitaly Lifshits 2020-03-17 134 test->write);
a6017405fcd0cd Vitaly Lifshits 2020-03-17 135 break;
a6017405fcd0cd Vitaly Lifshits 2020-03-17 136 case SET_READ_TEST:
a6017405fcd0cd Vitaly Lifshits 2020-03-17 137 b = reg_set_and_check(adapter, data,
a6017405fcd0cd Vitaly Lifshits 2020-03-17 138 test->reg + (i * 0x40),
a6017405fcd0cd Vitaly Lifshits 2020-03-17 139 test->mask,
a6017405fcd0cd Vitaly Lifshits 2020-03-17 140 test->write);
a6017405fcd0cd Vitaly Lifshits 2020-03-17 141 break;
a6017405fcd0cd Vitaly Lifshits 2020-03-17 142 case TABLE64_TEST_LO:
a6017405fcd0cd Vitaly Lifshits 2020-03-17 143 b = reg_pattern_test(adapter, data,
a6017405fcd0cd Vitaly Lifshits 2020-03-17 144 test->reg + (i * 8),
a6017405fcd0cd Vitaly Lifshits 2020-03-17 145 test->mask,
a6017405fcd0cd Vitaly Lifshits 2020-03-17 146 test->write);
a6017405fcd0cd Vitaly Lifshits 2020-03-17 147 break;
a6017405fcd0cd Vitaly Lifshits 2020-03-17 148 case TABLE64_TEST_HI:
a6017405fcd0cd Vitaly Lifshits 2020-03-17 149 b = reg_pattern_test(adapter, data,
a6017405fcd0cd Vitaly Lifshits 2020-03-17 150 test->reg + 4 + (i * 8),
a6017405fcd0cd Vitaly Lifshits 2020-03-17 151 test->mask,
a6017405fcd0cd Vitaly Lifshits 2020-03-17 152 test->write);
a6017405fcd0cd Vitaly Lifshits 2020-03-17 153 break;
a6017405fcd0cd Vitaly Lifshits 2020-03-17 154 case TABLE32_TEST:
a6017405fcd0cd Vitaly Lifshits 2020-03-17 155 b = reg_pattern_test(adapter, data,
a6017405fcd0cd Vitaly Lifshits 2020-03-17 156 test->reg + (i * 4),
a6017405fcd0cd Vitaly Lifshits 2020-03-17 157 test->mask,
a6017405fcd0cd Vitaly Lifshits 2020-03-17 158 test->write);
a6017405fcd0cd Vitaly Lifshits 2020-03-17 159 break;
No default case. Eventually GCC will fix its bug and start warning
about uninitialized variables again so you may as well fix it.
a6017405fcd0cd Vitaly Lifshits 2020-03-17 160 }
a6017405fcd0cd Vitaly Lifshits 2020-03-17 @161 if (b)
a6017405fcd0cd Vitaly Lifshits 2020-03-17 162 return true;
a6017405fcd0cd Vitaly Lifshits 2020-03-17 163 }
a6017405fcd0cd Vitaly Lifshits 2020-03-17 164 test++;
a6017405fcd0cd Vitaly Lifshits 2020-03-17 165 }
a6017405fcd0cd Vitaly Lifshits 2020-03-17 166 *data = 0;
a6017405fcd0cd Vitaly Lifshits 2020-03-17 167 return false;
a6017405fcd0cd Vitaly Lifshits 2020-03-17 168 }
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 1 month
Re: [PATCH 11/14] efi/gop: Allow specifying mode number on command line
by Dan Carpenter
Hi Arvind,
Thank you for the patch! Perhaps something to improve:
url: https://github.com/0day-ci/linux/commits/Arvind-Sankar/efi-gop-Refactorin...
base: https://git.kernel.org/pub/scm/linux/kernel/git/efi/efi.git next
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp(a)intel.com>
Reported-by: Dan Carpenter <dan.carpenter(a)oracle.com>
New smatch warnings:
drivers/firmware/efi/libstub/gop.c:113 set_mode() error: uninitialized symbol 'new_mode'.
# https://github.com/0day-ci/linux/commit/af85e496c9f577df9743784171b1cda94...
git remote add linux-review https://github.com/0day-ci/linux
git remote update linux-review
git checkout af85e496c9f577df9743784171b1cda94220dd8f
vim +/info +85 drivers/firmware/efi/libstub/gop.c
af85e496c9f577 Arvind Sankar 2020-03-19 97 static void set_mode(efi_graphics_output_protocol_t *gop)
af85e496c9f577 Arvind Sankar 2020-03-19 98 {
af85e496c9f577 Arvind Sankar 2020-03-19 99 efi_graphics_output_protocol_mode_t *mode;
af85e496c9f577 Arvind Sankar 2020-03-19 100 u32 cur_mode, new_mode;
af85e496c9f577 Arvind Sankar 2020-03-19 101
af85e496c9f577 Arvind Sankar 2020-03-19 102 switch (cmdline.option) {
af85e496c9f577 Arvind Sankar 2020-03-19 103 case EFI_CMDLINE_NONE:
af85e496c9f577 Arvind Sankar 2020-03-19 104 return;
af85e496c9f577 Arvind Sankar 2020-03-19 105 case EFI_CMDLINE_MODE_NUM:
af85e496c9f577 Arvind Sankar 2020-03-19 106 new_mode = choose_mode_modenum(gop);
af85e496c9f577 Arvind Sankar 2020-03-19 107 break;
No default case?
af85e496c9f577 Arvind Sankar 2020-03-19 108 }
af85e496c9f577 Arvind Sankar 2020-03-19 109
af85e496c9f577 Arvind Sankar 2020-03-19 110 mode = efi_table_attr(gop, mode);
af85e496c9f577 Arvind Sankar 2020-03-19 111 cur_mode = efi_table_attr(mode, mode);
af85e496c9f577 Arvind Sankar 2020-03-19 112
af85e496c9f577 Arvind Sankar 2020-03-19 @113 if (new_mode == cur_mode)
af85e496c9f577 Arvind Sankar 2020-03-19 114 return;
af85e496c9f577 Arvind Sankar 2020-03-19 115
af85e496c9f577 Arvind Sankar 2020-03-19 116 if (efi_call_proto(gop, set_mode, new_mode) != EFI_SUCCESS)
af85e496c9f577 Arvind Sankar 2020-03-19 117 efi_printk("Failed to set requested mode\n");
af85e496c9f577 Arvind Sankar 2020-03-19 118 }
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 2 months
Re: [Intel-gfx] [PATCH 5/6] drm/i915/tc/icl: Implement the TC cold exit sequence
by Dan Carpenter
Hi "José,
Thank you for the patch! Perhaps something to improve:
url: https://github.com/0day-ci/linux/commits/Jos-Roberto-de-Souza/drm-i915-tc...
base: git://anongit.freedesktop.org/drm-intel for-linux-next
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp(a)intel.com>
Reported-by: Dan Carpenter <dan.carpenter(a)oracle.com>
smatch warnings:
drivers/gpu/drm/i915/display/intel_tc.c:554 icl_tc_cold_request() error: uninitialized symbol 'ret'.
# https://github.com/0day-ci/linux/commit/29f27e6df6ad82b09a3c9ddaf5f51b2fc...
git remote add linux-review https://github.com/0day-ci/linux
git remote update linux-review
git checkout 29f27e6df6ad82b09a3c9ddaf5f51b2fc1647178
vim +/ret +554 drivers/gpu/drm/i915/display/intel_tc.c
29f27e6df6ad82 José Roberto de Souza 2020-03-18 528 static inline int icl_tc_cold_request(struct intel_digital_port *dig_port,
29f27e6df6ad82 José Roberto de Souza 2020-03-18 529 bool block)
29f27e6df6ad82 José Roberto de Souza 2020-03-18 530 {
29f27e6df6ad82 José Roberto de Souza 2020-03-18 531 struct drm_i915_private *i915 = to_i915(dig_port->base.base.dev);
29f27e6df6ad82 José Roberto de Souza 2020-03-18 532 enum intel_display_power_domain aux_domain;
29f27e6df6ad82 José Roberto de Souza 2020-03-18 533 int ret;
29f27e6df6ad82 José Roberto de Souza 2020-03-18 534
29f27e6df6ad82 José Roberto de Souza 2020-03-18 535 aux_domain = intel_aux_ch_to_power_domain(dig_port->aux_ch);
29f27e6df6ad82 José Roberto de Souza 2020-03-18 536
29f27e6df6ad82 José Roberto de Souza 2020-03-18 537 if (block) {
29f27e6df6ad82 José Roberto de Souza 2020-03-18 538 dig_port->tc_cold_wakeref =
29f27e6df6ad82 José Roberto de Souza 2020-03-18 539 intel_display_power_get_without_ack(i915, aux_domain);
29f27e6df6ad82 José Roberto de Souza 2020-03-18 540
29f27e6df6ad82 José Roberto de Souza 2020-03-18 541 do {
29f27e6df6ad82 José Roberto de Souza 2020-03-18 542 ret = sandybridge_pcode_write_timeout(i915,
29f27e6df6ad82 José Roberto de Souza 2020-03-18 543 ICL_PCODE_EXIT_TCCOLD,
29f27e6df6ad82 José Roberto de Souza 2020-03-18 544 0, 250, 1);
29f27e6df6ad82 José Roberto de Souza 2020-03-18 545
29f27e6df6ad82 José Roberto de Souza 2020-03-18 546 } while (ret == -EAGAIN);
ret is only initialized on this path
29f27e6df6ad82 José Roberto de Souza 2020-03-18 547 } else if (dig_port->tc_mode == TC_PORT_LEGACY) {
29f27e6df6ad82 José Roberto de Souza 2020-03-18 548 drm_WARN_ON(&i915->drm, !dig_port->tc_lock_wakeref);
29f27e6df6ad82 José Roberto de Souza 2020-03-18 549 intel_display_power_put(i915, aux_domain,
29f27e6df6ad82 José Roberto de Souza 2020-03-18 550 dig_port->tc_cold_wakeref);
29f27e6df6ad82 José Roberto de Souza 2020-03-18 551 dig_port->tc_cold_wakeref = 0;
29f27e6df6ad82 José Roberto de Souza 2020-03-18 552 }
29f27e6df6ad82 José Roberto de Souza 2020-03-18 553
29f27e6df6ad82 José Roberto de Souza 2020-03-18 @554 return ret;
29f27e6df6ad82 José Roberto de Souza 2020-03-18 555 }
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 2 months
Re: [PATCH] xfrm: policy: Fix doulbe free in xfrm_policy_timer
by Dan Carpenter
Hi YueHaibing,
Thank you for the patch! Perhaps something to improve:
url: https://github.com/0day-ci/linux/commits/YueHaibing/xfrm-policy-Fix-doulb...
base: https://git.kernel.org/pub/scm/linux/kernel/git/klassert/ipsec-next.git master
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp(a)intel.com>
Reported-by: Dan Carpenter <dan.carpenter(a)oracle.com>
smatch warnings:
net/xfrm/xfrm_policy.c:449 xfrm_policy_kill() error: double locked 'policy->lock' (orig line 437)
# https://github.com/0day-ci/linux/commit/c5e76419bf56de53360e5d79e2708fd0e...
git remote add linux-review https://github.com/0day-ci/linux
git remote update linux-review
git checkout c5e76419bf56de53360e5d79e2708fd0eed0cf38
vim +449 net/xfrm/xfrm_policy.c
^1da177e4c3f41 Linus Torvalds 2005-04-16 435 static void xfrm_policy_kill(struct xfrm_policy *policy)
^1da177e4c3f41 Linus Torvalds 2005-04-16 436 {
c5e76419bf56de YueHaibing 2020-03-18 @437 write_lock_bh(&policy->lock);
12a169e7d8f4b1 Herbert Xu 2008-10-01 438 policy->walk.dead = 1;
^1da177e4c3f41 Linus Torvalds 2005-04-16 439
285ead175c5dd5 Timo Teräs 2010-04-07 440 atomic_inc(&policy->genid);
^1da177e4c3f41 Linus Torvalds 2005-04-16 441
e7d8f6cb2f8735 Steffen Klassert 2013-10-08 442 if (del_timer(&policy->polq.hold_timer))
e7d8f6cb2f8735 Steffen Klassert 2013-10-08 443 xfrm_pol_put(policy);
1ee5e6676bccbf Li RongQing 2015-04-22 444 skb_queue_purge(&policy->polq.hold_queue);
a0073fe18e718a Steffen Klassert 2013-02-05 445
285ead175c5dd5 Timo Teräs 2010-04-07 446 if (del_timer(&policy->timer))
285ead175c5dd5 Timo Teräs 2010-04-07 447 xfrm_pol_put(policy);
285ead175c5dd5 Timo Teräs 2010-04-07 448
c5e76419bf56de YueHaibing 2020-03-18 @449 write_lock_bh(&policy->lock);
s/lock/unlock/
285ead175c5dd5 Timo Teräs 2010-04-07 450 xfrm_pol_put(policy);
^1da177e4c3f41 Linus Torvalds 2005-04-16 451 }
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 2 months
Re: [Intel-gfx] [PATCH] drm/i915/gem: Avoid gem_context->mutex for simple vma lookup
by Dan Carpenter
Hi Chris,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on drm-intel/for-linux-next]
[also build test WARNING on drm-tip/drm-tip next-20200316]
[cannot apply to v5.6-rc6]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
url: https://github.com/0day-ci/linux/commits/Chris-Wilson/drm-i915-gem-Avoid-...
base: git://anongit.freedesktop.org/drm-intel for-linux-next
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp(a)intel.com>
Reported-by: Dan Carpenter <dan.carpenter(a)oracle.com>
New smatch warnings:
drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c:815 eb_lookup_vmas() error: uninitialized symbol 'obj'.
Old smatch warnings:
drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c:1111 reloc_move_to_gpu() warn: maybe use && instead of &
drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c:1599 eb_move_to_gpu() warn: maybe use && instead of &
drivers/gpu/drm/i915/gem/i915_gem_context.h:201 i915_gem_context_get_engine() warn: inconsistent indenting
drivers/gpu/drm/i915/gem/i915_gem_context.h:203 i915_gem_context_get_engine() warn: inconsistent indenting
# https://github.com/0day-ci/linux/commit/88e913b4b889b5b70ae708967ff75a045...
git remote add linux-review https://github.com/0day-ci/linux
git remote update linux-review
git checkout 88e913b4b889b5b70ae708967ff75a04527b50af
vim +/obj +815 drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c
2889caa9232109 drivers/gpu/drm/i915/i915_gem_execbuffer.c Chris Wilson 2017-06-16 731 static int eb_lookup_vmas(struct i915_execbuffer *eb)
3b96eff447b4ca drivers/gpu/drm/i915/i915_gem_execbuffer.c Chris Wilson 2013-01-08 732 {
8f2a1057d6ec21 drivers/gpu/drm/i915/i915_gem_execbuffer.c Chris Wilson 2019-04-25 733 struct radix_tree_root *handles_vma = &eb->gem_context->handles_vma;
ac70ebe873f516 drivers/gpu/drm/i915/i915_gem_execbuffer.c Chris Wilson 2017-09-12 734 struct drm_i915_gem_object *obj;
^^^^
Uninitialized
746c8f143afad7 drivers/gpu/drm/i915/i915_gem_execbuffer.c Chris Wilson 2018-06-10 735 unsigned int i, batch;
2889caa9232109 drivers/gpu/drm/i915/i915_gem_execbuffer.c Chris Wilson 2017-06-16 736 int err;
3b96eff447b4ca drivers/gpu/drm/i915/i915_gem_execbuffer.c Chris Wilson 2013-01-08 737
003d8b9143a69f drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c Chris Wilson 2020-03-03 738 if (unlikely(i915_gem_context_is_closed(eb->gem_context)))
003d8b9143a69f drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c Chris Wilson 2020-03-03 739 return -ENOENT;
003d8b9143a69f drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c Chris Wilson 2020-03-03 740
2889caa9232109 drivers/gpu/drm/i915/i915_gem_execbuffer.c Chris Wilson 2017-06-16 741 INIT_LIST_HEAD(&eb->relocs);
2889caa9232109 drivers/gpu/drm/i915/i915_gem_execbuffer.c Chris Wilson 2017-06-16 742 INIT_LIST_HEAD(&eb->unbound);
d55495b4dcce2e drivers/gpu/drm/i915/i915_gem_execbuffer.c Chris Wilson 2017-06-15 743
746c8f143afad7 drivers/gpu/drm/i915/i915_gem_execbuffer.c Chris Wilson 2018-06-10 744 batch = eb_batch_index(eb);
746c8f143afad7 drivers/gpu/drm/i915/i915_gem_execbuffer.c Chris Wilson 2018-06-10 745
170fa29b14fadf drivers/gpu/drm/i915/i915_gem_execbuffer.c Chris Wilson 2017-08-16 746 for (i = 0; i < eb->buffer_count; i++) {
170fa29b14fadf drivers/gpu/drm/i915/i915_gem_execbuffer.c Chris Wilson 2017-08-16 747 u32 handle = eb->exec[i].handle;
d1b48c1e7184d9 drivers/gpu/drm/i915/i915_gem_execbuffer.c Chris Wilson 2017-08-16 748 struct i915_lut_handle *lut;
170fa29b14fadf drivers/gpu/drm/i915/i915_gem_execbuffer.c Chris Wilson 2017-08-16 749 struct i915_vma *vma;
4ff4b44cbb70c2 drivers/gpu/drm/i915/i915_gem_execbuffer.c Chris Wilson 2017-06-16 750
88e913b4b889b5 drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c Chris Wilson 2020-03-16 751 lookup:
88e913b4b889b5 drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c Chris Wilson 2020-03-16 752 rcu_read_lock();
d1b48c1e7184d9 drivers/gpu/drm/i915/i915_gem_execbuffer.c Chris Wilson 2017-08-16 753 vma = radix_tree_lookup(handles_vma, handle);
88e913b4b889b5 drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c Chris Wilson 2020-03-16 754 if (likely(vma))
88e913b4b889b5 drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c Chris Wilson 2020-03-16 755 vma = i915_vma_tryget(vma);
88e913b4b889b5 drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c Chris Wilson 2020-03-16 756 rcu_read_unlock();
d1b48c1e7184d9 drivers/gpu/drm/i915/i915_gem_execbuffer.c Chris Wilson 2017-08-16 757 if (likely(vma))
170fa29b14fadf drivers/gpu/drm/i915/i915_gem_execbuffer.c Chris Wilson 2017-08-16 758 goto add_vma;
^^^^^^^^^^^^
Assume we hit this goto
3b96eff447b4ca drivers/gpu/drm/i915/i915_gem_execbuffer.c Chris Wilson 2013-01-08 759
170fa29b14fadf drivers/gpu/drm/i915/i915_gem_execbuffer.c Chris Wilson 2017-08-16 760 obj = i915_gem_object_lookup(eb->file, handle);
170fa29b14fadf drivers/gpu/drm/i915/i915_gem_execbuffer.c Chris Wilson 2017-08-16 761 if (unlikely(!obj)) {
170fa29b14fadf drivers/gpu/drm/i915/i915_gem_execbuffer.c Chris Wilson 2017-08-16 762 err = -ENOENT;
170fa29b14fadf drivers/gpu/drm/i915/i915_gem_execbuffer.c Chris Wilson 2017-08-16 763 goto err_vma;
27173f1f95db5e drivers/gpu/drm/i915/i915_gem_execbuffer.c Ben Widawsky 2013-08-14 764 }
6f65e29acad749 drivers/gpu/drm/i915/i915_gem_execbuffer.c Ben Widawsky 2013-12-06 765
f5d974f9d2a811 drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c Chris Wilson 2019-07-30 766 vma = i915_vma_instance(obj, eb->context->vm, NULL);
772b5408e3aac9 drivers/gpu/drm/i915/i915_gem_execbuffer.c Chengguang Xu 2019-02-21 767 if (IS_ERR(vma)) {
2889caa9232109 drivers/gpu/drm/i915/i915_gem_execbuffer.c Chris Wilson 2017-06-16 768 err = PTR_ERR(vma);
170fa29b14fadf drivers/gpu/drm/i915/i915_gem_execbuffer.c Chris Wilson 2017-08-16 769 goto err_obj;
27173f1f95db5e drivers/gpu/drm/i915/i915_gem_execbuffer.c Ben Widawsky 2013-08-14 770 }
27173f1f95db5e drivers/gpu/drm/i915/i915_gem_execbuffer.c Ben Widawsky 2013-08-14 771
13f1bfd3b3329b drivers/gpu/drm/i915/i915_gem_execbuffer.c Chris Wilson 2019-02-28 772 lut = i915_lut_handle_alloc();
d1b48c1e7184d9 drivers/gpu/drm/i915/i915_gem_execbuffer.c Chris Wilson 2017-08-16 773 if (unlikely(!lut)) {
d1b48c1e7184d9 drivers/gpu/drm/i915/i915_gem_execbuffer.c Chris Wilson 2017-08-16 774 err = -ENOMEM;
d1b48c1e7184d9 drivers/gpu/drm/i915/i915_gem_execbuffer.c Chris Wilson 2017-08-16 775 goto err_obj;
d1b48c1e7184d9 drivers/gpu/drm/i915/i915_gem_execbuffer.c Chris Wilson 2017-08-16 776 }
d1b48c1e7184d9 drivers/gpu/drm/i915/i915_gem_execbuffer.c Chris Wilson 2017-08-16 777
155ab8836caa69 drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c Chris Wilson 2019-06-06 778 /* transfer ref to lut */
88e913b4b889b5 drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c Chris Wilson 2020-03-16 779 i915_gem_object_get(obj);
155ab8836caa69 drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c Chris Wilson 2019-06-06 780 if (!atomic_fetch_inc(&vma->open_count))
3365e2268b6bc3 drivers/gpu/drm/i915/i915_gem_execbuffer.c Chris Wilson 2018-05-03 781 i915_vma_reopen(vma);
d1b48c1e7184d9 drivers/gpu/drm/i915/i915_gem_execbuffer.c Chris Wilson 2017-08-16 782 lut->handle = handle;
155ab8836caa69 drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c Chris Wilson 2019-06-06 783 lut->ctx = eb->gem_context;
155ab8836caa69 drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c Chris Wilson 2019-06-06 784
88e913b4b889b5 drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c Chris Wilson 2020-03-16 785 mutex_lock(&eb->gem_context->mutex);
88e913b4b889b5 drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c Chris Wilson 2020-03-16 786 err = -ENOENT;
88e913b4b889b5 drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c Chris Wilson 2020-03-16 787 if (unlikely(!i915_gem_context_is_closed(eb->gem_context)))
88e913b4b889b5 drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c Chris Wilson 2020-03-16 788 err = radix_tree_insert(handles_vma, handle, vma);
88e913b4b889b5 drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c Chris Wilson 2020-03-16 789 mutex_unlock(&eb->gem_context->mutex);
88e913b4b889b5 drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c Chris Wilson 2020-03-16 790 if (unlikely(err)) {
88e913b4b889b5 drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c Chris Wilson 2020-03-16 791 atomic_dec(&vma->open_count);
88e913b4b889b5 drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c Chris Wilson 2020-03-16 792 i915_gem_object_put(obj);
88e913b4b889b5 drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c Chris Wilson 2020-03-16 793 i915_lut_handle_free(lut);
88e913b4b889b5 drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c Chris Wilson 2020-03-16 794 i915_gem_object_put(obj);
88e913b4b889b5 drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c Chris Wilson 2020-03-16 795 if (err == -EEXIST)
88e913b4b889b5 drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c Chris Wilson 2020-03-16 796 goto lookup;
88e913b4b889b5 drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c Chris Wilson 2020-03-16 797 goto err_vma;
88e913b4b889b5 drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c Chris Wilson 2020-03-16 798 }
88e913b4b889b5 drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c Chris Wilson 2020-03-16 799
155ab8836caa69 drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c Chris Wilson 2019-06-06 800 i915_gem_object_lock(obj);
155ab8836caa69 drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c Chris Wilson 2019-06-06 801 list_add(&lut->obj_link, &obj->lut_list);
155ab8836caa69 drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c Chris Wilson 2019-06-06 802 i915_gem_object_unlock(obj);
d1b48c1e7184d9 drivers/gpu/drm/i915/i915_gem_execbuffer.c Chris Wilson 2017-08-16 803
170fa29b14fadf drivers/gpu/drm/i915/i915_gem_execbuffer.c Chris Wilson 2017-08-16 804 add_vma:
003d8b9143a69f drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c Chris Wilson 2020-03-03 805 err = eb_validate_vma(eb, &eb->exec[i], vma);
2889caa9232109 drivers/gpu/drm/i915/i915_gem_execbuffer.c Chris Wilson 2017-06-16 806 if (unlikely(err))
88e913b4b889b5 drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c Chris Wilson 2020-03-16 807 goto err_obj;
And this goto
dade2a6165fd7b drivers/gpu/drm/i915/i915_gem_execbuffer.c Chris Wilson 2017-06-16 808
003d8b9143a69f drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c Chris Wilson 2020-03-03 809 eb_add_vma(eb, i, batch, vma);
3b96eff447b4ca drivers/gpu/drm/i915/i915_gem_execbuffer.c Chris Wilson 2013-01-08 810 }
3b96eff447b4ca drivers/gpu/drm/i915/i915_gem_execbuffer.c Chris Wilson 2013-01-08 811
003d8b9143a69f drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c Chris Wilson 2020-03-03 812 return 0;
2889caa9232109 drivers/gpu/drm/i915/i915_gem_execbuffer.c Chris Wilson 2017-06-16 813
170fa29b14fadf drivers/gpu/drm/i915/i915_gem_execbuffer.c Chris Wilson 2017-08-16 814 err_obj:
170fa29b14fadf drivers/gpu/drm/i915/i915_gem_execbuffer.c Chris Wilson 2017-08-16 @815 i915_gem_object_put(obj);
^^^
170fa29b14fadf drivers/gpu/drm/i915/i915_gem_execbuffer.c Chris Wilson 2017-08-16 816 err_vma:
7d6236bb13352c drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c Chris Wilson 2020-03-03 817 eb->vma[i].vma = NULL;
2889caa9232109 drivers/gpu/drm/i915/i915_gem_execbuffer.c Chris Wilson 2017-06-16 818 return err;
3b96eff447b4ca drivers/gpu/drm/i915/i915_gem_execbuffer.c Chris Wilson 2013-01-08 819 }
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 2 months
[pinchartl-media:media/drm/dpsub/next 5/14] drivers/dma/xilinx/xilinx_dpdma.c:389 xilinx_dpdma_debugfs_read() warn: maybe return -EFAULT instead of the bytes remaining?
by Dan Carpenter
tree: git://linuxtv.org/pinchartl/media.git media/drm/dpsub/next
head: fc1d178201c64a7b0106f84de5503eead44c0586
commit: efaa5ceddb7bdb19307a215e8ec207ded1c87474 [5/14] dmaengine: xilinx: dpdma: Add debugfs support
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp(a)intel.com>
Reported-by: Dan Carpenter <dan.carpenter(a)oracle.com>
smatch warnings:
drivers/dma/xilinx/xilinx_dpdma.c:389 xilinx_dpdma_debugfs_read() warn: maybe return -EFAULT instead of the bytes remaining?
git remote add pinchartl-media git://linuxtv.org/pinchartl/media.git
git remote update pinchartl-media
git checkout efaa5ceddb7bdb19307a215e8ec207ded1c87474
vim +389 drivers/dma/xilinx/xilinx_dpdma.c
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 357 static ssize_t xilinx_dpdma_debugfs_read(struct file *f, char __user *buf,
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 358 size_t size, loff_t *pos)
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 359 {
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 360 enum xilinx_dpdma_testcases testcase;
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 361 char *kern_buff;
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 362 int ret;
ret = 0;
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 363
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 364 if (*pos != 0 || size <= 0)
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 365 return -EINVAL;
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 366
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 367 kern_buff = kzalloc(XILINX_DPDMA_DEBUGFS_READ_MAX_SIZE, GFP_KERNEL);
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 368 if (!kern_buff) {
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 369 dpdma_debugfs.testcase = DPDMA_TC_NONE;
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 370 return -ENOMEM;
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 371 }
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 372
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 373 testcase = READ_ONCE(dpdma_debugfs.testcase);
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 374 if (testcase != DPDMA_TC_NONE) {
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 375 ret = dpdma_debugfs_reqs[testcase].read(kern_buff);
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 376 if (ret < 0)
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 377 goto done;
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 378 } else {
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 379 strlcpy(kern_buff, "No testcase executed",
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 380 XILINX_DPDMA_DEBUGFS_READ_MAX_SIZE);
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 381 }
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 382
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 383 size = min(size, strlen(kern_buff));
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 384 ret = copy_to_user(buf, kern_buff, size);
if (copy_to_user(buf, kern_buff, size))
ret = -EFAULT;
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 385
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 386 done:
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 387 kfree(kern_buff);
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 388 if (ret)
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 @389 return ret;
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 390
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 391 *pos = size + 1;
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 392 return size;
efaa5ceddb7bdb Laurent Pinchart 2019-11-07 393 }
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 2 months
Re: [Intel-gfx] [PATCH v4 1/3] drm/i915/perf: remove generated code
by Dan Carpenter
Hi Lionel,
Thank you for the patch! Perhaps something to improve:
url: https://github.com/0day-ci/linux/commits/Lionel-Landwerlin/drm-i915-perf-...
base: git://anongit.freedesktop.org/drm-intel for-linux-next
If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp(a)intel.com>
Reported-by: Dan Carpenter <dan.carpenter(a)oracle.com>
smatch warnings:
drivers/gpu/drm/i915/selftests/i915_perf.c:26 alloc_empty_config() warn: returning -1 instead of -ENOMEM is sloppy
drivers/gpu/drm/i915/selftests/i915_perf.c:43 alloc_empty_config() warn: inconsistent returns 'perf->metrics_lock'.
# https://github.com/0day-ci/linux/commit/9da4da9daea4fec31c06906294a6e64e9...
git remote add linux-review https://github.com/0day-ci/linux
git remote update linux-review
git checkout 9da4da9daea4fec31c06906294a6e64e9bd19783
vim +26 drivers/gpu/drm/i915/selftests/i915_perf.c
9da4da9daea4fe Lionel Landwerlin 2020-03-06 19 static int
9da4da9daea4fe Lionel Landwerlin 2020-03-06 20 alloc_empty_config(struct i915_perf *perf)
9da4da9daea4fe Lionel Landwerlin 2020-03-06 21 {
9da4da9daea4fe Lionel Landwerlin 2020-03-06 22 struct i915_oa_config *oa_config;
9da4da9daea4fe Lionel Landwerlin 2020-03-06 23
9da4da9daea4fe Lionel Landwerlin 2020-03-06 24 oa_config = kzalloc(sizeof(*oa_config), GFP_KERNEL);
9da4da9daea4fe Lionel Landwerlin 2020-03-06 25 if (!oa_config)
9da4da9daea4fe Lionel Landwerlin 2020-03-06 @26 return -1;
return -ENOMEM
9da4da9daea4fe Lionel Landwerlin 2020-03-06 27
9da4da9daea4fe Lionel Landwerlin 2020-03-06 28 oa_config->perf = perf;
9da4da9daea4fe Lionel Landwerlin 2020-03-06 29 kref_init(&oa_config->ref);
9da4da9daea4fe Lionel Landwerlin 2020-03-06 30
9da4da9daea4fe Lionel Landwerlin 2020-03-06 31 strlcpy(oa_config->uuid, TEST_OA_CONFIG_UUID, sizeof(oa_config->uuid));
9da4da9daea4fe Lionel Landwerlin 2020-03-06 32
9da4da9daea4fe Lionel Landwerlin 2020-03-06 33 mutex_lock(&perf->metrics_lock);
9da4da9daea4fe Lionel Landwerlin 2020-03-06 34
9da4da9daea4fe Lionel Landwerlin 2020-03-06 35 oa_config->id = idr_alloc(&perf->metrics_idr, oa_config, 2, 0, GFP_KERNEL);
9da4da9daea4fe Lionel Landwerlin 2020-03-06 36 if (oa_config->id < 0) {
9da4da9daea4fe Lionel Landwerlin 2020-03-06 37 i915_oa_config_put(oa_config);
unlock
9da4da9daea4fe Lionel Landwerlin 2020-03-06 38 return -1;
return oa_config->id;
9da4da9daea4fe Lionel Landwerlin 2020-03-06 39 }
9da4da9daea4fe Lionel Landwerlin 2020-03-06 40
9da4da9daea4fe Lionel Landwerlin 2020-03-06 41 mutex_unlock(&perf->metrics_lock);
9da4da9daea4fe Lionel Landwerlin 2020-03-06 42
9da4da9daea4fe Lionel Landwerlin 2020-03-06 @43 return 0;
9da4da9daea4fe Lionel Landwerlin 2020-03-06 44 }
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 2 months