kbuild test robot
2017-Apr-07 20:21 UTC
[vhost:linux-next 13/26] drivers//virtio/virtio_pci_common.c:186:7: error: too few arguments to function 'vp_dev->setup_vq'
tree: https://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost.git linux-next
head: 4293ed1476ec42e45e54f812341058d812d820a5
commit: d5edad95c2f89cced19a23713f752442b620f0e1 [13/26] virtio: add context
flag to find vqs
config: x86_64-randconfig-x012-201714 (attached as .config)
compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901
reproduce:
git checkout d5edad95c2f89cced19a23713f752442b620f0e1
# save the attached .config to linux build tree
make ARCH=x86_64
All errors (new ones prefixed by >>):
drivers//virtio/virtio_pci_common.c: In function
'vp_setup_vq':>> drivers//virtio/virtio_pci_common.c:186:7: error: too few arguments to
function 'vp_dev->setup_vq'
vq = vp_dev->setup_vq(vp_dev, info, index, callback, name,
^~~~~~
drivers//virtio/virtio_pci_common.c: In function
'vp_find_vqs_msix':>> drivers//virtio/virtio_pci_common.c:318:12: error: too many arguments
to function 'vp_setup_vq'
vqs[i] = vp_setup_vq(vdev, i, callbacks[i], names[i],
^~~~~~~~~~~
drivers//virtio/virtio_pci_common.c:172:26: note: declared here
static struct virtqueue *vp_setup_vq(struct virtio_device *vdev, unsigned
index,
^~~~~~~~~~~
drivers//virtio/virtio_pci_common.c: In function 'vp_find_vqs_intx':
drivers//virtio/virtio_pci_common.c:371:12: error: too many arguments to
function 'vp_setup_vq'
vqs[i] = vp_setup_vq(vdev, i, callbacks[i], names[i],
^~~~~~~~~~~
drivers//virtio/virtio_pci_common.c:172:26: note: declared here
static struct virtqueue *vp_setup_vq(struct virtio_device *vdev, unsigned
index,
^~~~~~~~~~~
vim +186 drivers//virtio/virtio_pci_common.c
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 180
unsigned long flags;
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 181
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 182
/* fill out our structure that represents an active queue */
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 183
if (!info)
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 184
return ERR_PTR(-ENOMEM);
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 185
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 @186
vq = vp_dev->setup_vq(vp_dev, info, index, callback, name,
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 187
msix_vec);
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 188
if (IS_ERR(vq))
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 189
goto out_info;
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 190
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 191
info->vq = vq;
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 192
if (callback) {
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 193
spin_lock_irqsave(&vp_dev->lock, flags);
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 194
list_add(&info->node, &vp_dev->virtqueues);
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 195
spin_unlock_irqrestore(&vp_dev->lock, flags);
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 196
} else {
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 197
INIT_LIST_HEAD(&info->node);
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 198
}
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 199
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 200
vp_dev->vqs[index] = info;
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 201
return vq;
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 202
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 203
out_info:
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 204
kfree(info);
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 205
return vq;
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 206
}
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 207
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 208
static void vp_del_vq(struct virtqueue *vq)
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 209
{
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 210
struct virtio_pci_device *vp_dev = to_vp_device(vq->vdev);
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 211
struct virtio_pci_vq_info *info = vp_dev->vqs[vq->index];
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 212
unsigned long flags;
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 213
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 214
spin_lock_irqsave(&vp_dev->lock, flags);
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 215
list_del(&info->node);
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 216
spin_unlock_irqrestore(&vp_dev->lock, flags);
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 217
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 218
vp_dev->del_vq(info);
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 219
kfree(info);
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 220
}
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 221
c5bf771f1 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 222
/* the config->del_vqs() implementation */
c5bf771f1 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 223
void vp_del_vqs(struct virtio_device *vdev)
d2a7ddda9 drivers/virtio/virtio_pci.c Michael S. Tsirkin 2009-06-12 224
{
e969fed54 drivers/virtio/virtio_pci.c Michael S. Tsirkin 2009-07-26 225
struct virtio_pci_device *vp_dev = to_vp_device(vdev);
d2a7ddda9 drivers/virtio/virtio_pci.c Michael S. Tsirkin 2009-06-12 226
struct virtqueue *vq, *n;
c5bf771f1 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 227
int i;
d2a7ddda9 drivers/virtio/virtio_pci.c Michael S. Tsirkin 2009-06-12 228
e969fed54 drivers/virtio/virtio_pci.c Michael S. Tsirkin 2009-07-26 229
list_for_each_entry_safe(vq, n, &vdev->vqs, list) {
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 230
if (vp_dev->per_vq_vectors) {
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 231
int v = vp_dev->vqs[vq->index]->msix_vector;
fa3a32793 drivers/virtio/virtio_pci_common.c Christoph Hellwig 2016-11-17 232
e1c287efc drivers/virtio/virtio_pci_common.c Marc Zyngier 2017-03-08 233
if (v != VIRTIO_MSI_NO_VECTOR) {
e1c287efc drivers/virtio/virtio_pci_common.c Marc Zyngier 2017-03-08 234
int irq = pci_irq_vector(vp_dev->pci_dev, v);
e1c287efc drivers/virtio/virtio_pci_common.c Marc Zyngier 2017-03-08 235
e1c287efc drivers/virtio/virtio_pci_common.c Marc Zyngier 2017-03-08 236
irq_set_affinity_hint(irq, NULL);
e1c287efc drivers/virtio/virtio_pci_common.c Marc Zyngier 2017-03-08 237
free_irq(irq, vq);
e1c287efc drivers/virtio/virtio_pci_common.c Marc Zyngier 2017-03-08 238
}
fa3a32793 drivers/virtio/virtio_pci_common.c Christoph Hellwig 2016-11-17 239
}
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 240
vp_del_vq(vq);
e969fed54 drivers/virtio/virtio_pci.c Michael S. Tsirkin 2009-07-26 241
}
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 242
vp_dev->per_vq_vectors = false;
66f2f5554 drivers/virtio/virtio_pci_common.c Christoph Hellwig 2016-11-17 243
c5bf771f1 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 244
if (vp_dev->intx_enabled) {
c5bf771f1 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 245
free_irq(vp_dev->pci_dev->irq, vp_dev);
c5bf771f1 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 246
vp_dev->intx_enabled = 0;
c5bf771f1 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 247
}
07ec51480 drivers/virtio/virtio_pci_common.c Christoph Hellwig 2017-02-05 248
c5bf771f1 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 249
for (i = 0; i < vp_dev->msix_used_vectors; ++i)
c5bf771f1 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 250
free_irq(pci_irq_vector(vp_dev->pci_dev, i), vp_dev);
07ec51480 drivers/virtio/virtio_pci_common.c Christoph Hellwig 2017-02-05 251
66f2f5554 drivers/virtio/virtio_pci_common.c Christoph Hellwig 2016-11-17 252
for (i = 0; i < vp_dev->msix_vectors; i++)
c5bf771f1 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 253
if (vp_dev->msix_affinity_masks[i])
66f2f5554 drivers/virtio/virtio_pci_common.c Christoph Hellwig 2016-11-17 254
free_cpumask_var(vp_dev->msix_affinity_masks[i]);
66f2f5554 drivers/virtio/virtio_pci_common.c Christoph Hellwig 2016-11-17 255
c5bf771f1 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 256
if (vp_dev->msix_enabled) {
66f2f5554 drivers/virtio/virtio_pci_common.c Christoph Hellwig 2016-11-17 257
/* Disable the vector used for configuration */
66f2f5554 drivers/virtio/virtio_pci_common.c Christoph Hellwig 2016-11-17 258
vp_dev->config_vector(vp_dev, VIRTIO_MSI_NO_VECTOR);
66f2f5554 drivers/virtio/virtio_pci_common.c Christoph Hellwig 2016-11-17 259
c5bf771f1 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 260
pci_free_irq_vectors(vp_dev->pci_dev);
c5bf771f1 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 261
vp_dev->msix_enabled = 0;
07ec51480 drivers/virtio/virtio_pci_common.c Christoph Hellwig 2017-02-05 262
}
07ec51480 drivers/virtio/virtio_pci_common.c Christoph Hellwig 2017-02-05 263
c5bf771f1 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 264
vp_dev->msix_vectors = 0;
c5bf771f1 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 265
vp_dev->msix_used_vectors = 0;
c5bf771f1 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 266
kfree(vp_dev->msix_names);
c5bf771f1 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 267
vp_dev->msix_names = NULL;
c5bf771f1 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 268
kfree(vp_dev->msix_affinity_masks);
c5bf771f1 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 269
vp_dev->msix_affinity_masks = NULL;
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 270
kfree(vp_dev->vqs);
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 271
vp_dev->vqs = NULL;
d2a7ddda9 drivers/virtio/virtio_pci.c Michael S. Tsirkin 2009-06-12 272
}
d2a7ddda9 drivers/virtio/virtio_pci.c Michael S. Tsirkin 2009-06-12 273
a3cbec697 drivers/virtio/virtio_pci_common.c Christoph Hellwig 2016-11-17 274
static int vp_find_vqs_msix(struct virtio_device *vdev, unsigned nvqs,
52a615161 drivers/virtio/virtio_pci_common.c Christoph Hellwig 2017-02-05 275
struct virtqueue *vqs[], vq_callback_t *callbacks[],
8951d4035 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 276
const char * const names[], bool per_vq_vectors,
d5edad95c drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-03-06 277
const bool *ctx,
8951d4035 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 278
struct irq_affinity *desc)
d2a7ddda9 drivers/virtio/virtio_pci.c Michael S. Tsirkin 2009-06-12 279
{
e969fed54 drivers/virtio/virtio_pci.c Michael S. Tsirkin 2009-07-26 280
struct virtio_pci_device *vp_dev = to_vp_device(vdev);
f68d24082 drivers/virtio/virtio_pci.c Rusty Russell 2009-09-23 281
u16 msix_vec;
c5bf771f1 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 282
int i, err, nvectors, allocated_vectors;
f68d24082 drivers/virtio/virtio_pci.c Rusty Russell 2009-09-23 283
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 284
vp_dev->vqs = kcalloc(nvqs, sizeof(*vp_dev->vqs), GFP_KERNEL);
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 285
if (!vp_dev->vqs)
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 286
return -ENOMEM;
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 287
c5bf771f1 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 288
if (per_vq_vectors) {
c5bf771f1 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 289
/* Best option: one for change interrupt, one per vq. */
f68d24082 drivers/virtio/virtio_pci.c Rusty Russell 2009-09-23 290
nvectors = 1;
c5bf771f1 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 291
for (i = 0; i < nvqs; ++i)
f68d24082 drivers/virtio/virtio_pci.c Rusty Russell 2009-09-23 292
if (callbacks[i])
c5bf771f1 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 293
++nvectors;
8951d4035 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 294
} else {
c5bf771f1 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 295
/* Second best: one for change, shared for all vqs. */
c5bf771f1 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 296
nvectors = 2;
07ec51480 drivers/virtio/virtio_pci_common.c Christoph Hellwig 2017-02-05 297
}
07ec51480 drivers/virtio/virtio_pci_common.c Christoph Hellwig 2017-02-05 298
c5bf771f1 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 299
err = vp_request_msix_vectors(vdev, nvectors, per_vq_vectors,
c5bf771f1 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 300
per_vq_vectors ? desc : NULL);
82af8ce84 drivers/virtio/virtio_pci.c Michael S. Tsirkin 2009-05-14 301
if (err)
c5bf771f1 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 302
goto error_find;
d2a7ddda9 drivers/virtio/virtio_pci.c Michael S. Tsirkin 2009-06-12 303
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 304
vp_dev->per_vq_vectors = per_vq_vectors;
c5bf771f1 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 305
allocated_vectors = vp_dev->msix_used_vectors;
d2a7ddda9 drivers/virtio/virtio_pci.c Michael S. Tsirkin 2009-06-12 306
for (i = 0; i < nvqs; ++i) {
6457f126c drivers/virtio/virtio_pci.c Michael S. Tsirkin 2012-09-05 307
if (!names[i]) {
6457f126c drivers/virtio/virtio_pci.c Michael S. Tsirkin 2012-09-05 308
vqs[i] = NULL;
6457f126c drivers/virtio/virtio_pci.c Michael S. Tsirkin 2012-09-05 309
continue;
a3cbec697 drivers/virtio/virtio_pci_common.c Christoph Hellwig 2016-11-17 310
}
a3cbec697 drivers/virtio/virtio_pci_common.c Christoph Hellwig 2016-11-17 311
c5bf771f1 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 312
if (!callbacks[i])
07ec51480 drivers/virtio/virtio_pci_common.c Christoph Hellwig 2017-02-05 313
msix_vec = VIRTIO_MSI_NO_VECTOR;
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 314
else if (vp_dev->per_vq_vectors)
c5bf771f1 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 315
msix_vec = allocated_vectors++;
c5bf771f1 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 316
else
c5bf771f1 drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 317
msix_vec = VP_MSIX_VQ_VECTOR;
f6813487d drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-04-04 @318
vqs[i] = vp_setup_vq(vdev, i, callbacks[i], names[i],
d5edad95c drivers/virtio/virtio_pci_common.c Michael S. Tsirkin 2017-03-06 319
ctx ? ctx[i] : false,
5c34d002d drivers/virtio/virtio_pci_common.c Christoph Hellwig 2017-02-05 320
msix_vec);
e969fed54 drivers/virtio/virtio_pci.c Michael S. Tsirkin 2009-07-26 321
if (IS_ERR(vqs[i])) {
:::::: The code at line 186 was first introduced by commit
:::::: f6813487d78d2833973704024e2f4767ce4570d6 Revert "virtio_pci: remove
struct virtio_pci_vq_info"
:::::: TO: Michael S. Tsirkin <mst at redhat.com>
:::::: CC: Michael S. Tsirkin <mst at redhat.com>
---
0-DAY kernel test infrastructure Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all Intel Corporation
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 26092 bytes
Desc: not available
URL:
<http://lists.linuxfoundation.org/pipermail/virtualization/attachments/20170408/be47d1eb/attachment-0001.bin>
Maybe Matching Threads
- [vhost:linux-next 13/26] drivers//virtio/virtio_pci_common.c:186:7: error: too few arguments to function 'vp_dev->setup_vq'
- [PATCH v2 10/10] virtio_pci: rename virtio_pci -> virtio_pci_common
- [PATCH v2 10/10] virtio_pci: rename virtio_pci -> virtio_pci_common
- [PATCH 3/3] virtio_pci_common.h: drop VIRTIO_PCI_NO_LEGACY
- [PATCH v1 1/2] virtio_pci: use queue idx instead of array idx to set up the vq
