[PATCH 04/11] staging: vchiq_arm: Clear VLA warning
kbuild test robot
lkp at intel.com
Sat Mar 31 16:36:13 PDT 2018
Hi Stefan,
I love your patch! Perhaps something to improve:
[auto build test WARNING on staging/staging-testing]
[also build test WARNING on v4.16-rc7 next-20180329]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
url: https://github.com/0day-ci/linux/commits/Stefan-Wahren/staging-vchiq_core-Fix-missing-semaphore-release-in-error-case/20180401-055855
config: ia64-allmodconfig (attached as .config)
compiler: ia64-linux-gcc (GCC) 7.2.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
make.cross ARCH=ia64
All warnings (new ones prefixed by >>):
In file included from include/linux/printk.h:7:0,
from include/linux/kernel.h:14,
from drivers/staging//vc04_services/interface/vchiq_arm/vchiq_arm.c:35:
drivers/staging//vc04_services/interface/vchiq_arm/vchiq_arm.c: In function 'vchiq_dump_service_use_state':
include/linux/kern_levels.h:5:18: warning: format '%d' expects argument of type 'int', but argument 3 has type 'long unsigned int' [-Wformat=]
#define KERN_SOH "\001" /* ASCII Start Of Header */
^
include/linux/kern_levels.h:14:19: note: in expansion of macro 'KERN_SOH'
#define KERN_INFO KERN_SOH "6" /* informational */
^~~~~~~~
drivers/staging//vc04_services/interface/vchiq_arm/vchiq_core.h:52:28: note: in expansion of macro 'KERN_INFO'
#define VCHIQ_LOG_PREFIX KERN_INFO "vchiq: "
^~~~~~~~~
drivers/staging//vc04_services/interface/vchiq_arm/vchiq_core.h:62:11: note: in expansion of macro 'VCHIQ_LOG_PREFIX'
printk(VCHIQ_LOG_PREFIX fmt "\n", ##__VA_ARGS__); } while (0)
^~~~~~~~~~~~~~~~
>> drivers/staging//vc04_services/interface/vchiq_arm/vchiq_arm.c:3479:3: note: in expansion of macro 'vchiq_log_warning'
vchiq_log_warning(vchiq_susp_log_level, "Too many active "
^~~~~~~~~~~~~~~~~
drivers/staging//vc04_services/interface/vchiq_arm/vchiq_arm.c:3480:47: note: format string is defined here
"services (%d). Only dumping up to first %d services "
~^
%ld
vim +/vchiq_log_warning +3479 drivers/staging//vc04_services/interface/vchiq_arm/vchiq_arm.c
8dbc30957 Stefan Wahren 2018-03-31 3422
71bad7f08 popcornmix 2013-07-02 3423 void
71bad7f08 popcornmix 2013-07-02 3424 vchiq_dump_service_use_state(VCHIQ_STATE_T *state)
71bad7f08 popcornmix 2013-07-02 3425 {
71bad7f08 popcornmix 2013-07-02 3426 VCHIQ_ARM_STATE_T *arm_state = vchiq_platform_get_arm_state(state);
8dbc30957 Stefan Wahren 2018-03-31 3427 static struct service_data_struct service_data[64];
71bad7f08 popcornmix 2013-07-02 3428 int i, j = 0;
71bad7f08 popcornmix 2013-07-02 3429 /* If there's more than 64 services, only dump ones with
71bad7f08 popcornmix 2013-07-02 3430 * non-zero counts */
71bad7f08 popcornmix 2013-07-02 3431 int only_nonzero = 0;
71bad7f08 popcornmix 2013-07-02 3432 static const char *nz = "<-- preventing suspend";
71bad7f08 popcornmix 2013-07-02 3433
71bad7f08 popcornmix 2013-07-02 3434 enum vc_suspend_status vc_suspend_state;
71bad7f08 popcornmix 2013-07-02 3435 enum vc_resume_status vc_resume_state;
71bad7f08 popcornmix 2013-07-02 3436 int peer_count;
71bad7f08 popcornmix 2013-07-02 3437 int vc_use_count;
71bad7f08 popcornmix 2013-07-02 3438 int active_services;
71bad7f08 popcornmix 2013-07-02 3439
71bad7f08 popcornmix 2013-07-02 3440 if (!arm_state)
71bad7f08 popcornmix 2013-07-02 3441 return;
71bad7f08 popcornmix 2013-07-02 3442
71bad7f08 popcornmix 2013-07-02 3443 read_lock_bh(&arm_state->susp_res_lock);
71bad7f08 popcornmix 2013-07-02 3444 vc_suspend_state = arm_state->vc_suspend_state;
71bad7f08 popcornmix 2013-07-02 3445 vc_resume_state = arm_state->vc_resume_state;
71bad7f08 popcornmix 2013-07-02 3446 peer_count = arm_state->peer_use_count;
71bad7f08 popcornmix 2013-07-02 3447 vc_use_count = arm_state->videocore_use_count;
71bad7f08 popcornmix 2013-07-02 3448 active_services = state->unused_service;
8dbc30957 Stefan Wahren 2018-03-31 3449 if (active_services > ARRAY_SIZE(service_data))
71bad7f08 popcornmix 2013-07-02 3450 only_nonzero = 1;
71bad7f08 popcornmix 2013-07-02 3451
8dbc30957 Stefan Wahren 2018-03-31 3452 for (i = 0; (i < active_services) && (j < ARRAY_SIZE(service_data)); i++) {
71bad7f08 popcornmix 2013-07-02 3453 VCHIQ_SERVICE_T *service_ptr = state->services[i];
6e475350a Yamanappagouda Patil 2017-02-21 3454
71bad7f08 popcornmix 2013-07-02 3455 if (!service_ptr)
71bad7f08 popcornmix 2013-07-02 3456 continue;
71bad7f08 popcornmix 2013-07-02 3457
71bad7f08 popcornmix 2013-07-02 3458 if (only_nonzero && !service_ptr->service_use_count)
71bad7f08 popcornmix 2013-07-02 3459 continue;
71bad7f08 popcornmix 2013-07-02 3460
b322396ce Stefan Wahren 2017-05-26 3461 if (service_ptr->srvstate == VCHIQ_SRVSTATE_FREE)
b322396ce Stefan Wahren 2017-05-26 3462 continue;
b322396ce Stefan Wahren 2017-05-26 3463
71bad7f08 popcornmix 2013-07-02 3464 service_data[j].fourcc = service_ptr->base.fourcc;
71bad7f08 popcornmix 2013-07-02 3465 service_data[j].clientid = service_ptr->client_id;
b322396ce Stefan Wahren 2017-05-26 3466 service_data[j++].use_count = service_ptr->service_use_count;
71bad7f08 popcornmix 2013-07-02 3467 }
71bad7f08 popcornmix 2013-07-02 3468
71bad7f08 popcornmix 2013-07-02 3469 read_unlock_bh(&arm_state->susp_res_lock);
71bad7f08 popcornmix 2013-07-02 3470
71bad7f08 popcornmix 2013-07-02 3471 vchiq_log_warning(vchiq_susp_log_level,
71bad7f08 popcornmix 2013-07-02 3472 "-- Videcore suspend state: %s --",
71bad7f08 popcornmix 2013-07-02 3473 suspend_state_names[vc_suspend_state + VC_SUSPEND_NUM_OFFSET]);
71bad7f08 popcornmix 2013-07-02 3474 vchiq_log_warning(vchiq_susp_log_level,
71bad7f08 popcornmix 2013-07-02 3475 "-- Videcore resume state: %s --",
71bad7f08 popcornmix 2013-07-02 3476 resume_state_names[vc_resume_state + VC_RESUME_NUM_OFFSET]);
71bad7f08 popcornmix 2013-07-02 3477
71bad7f08 popcornmix 2013-07-02 3478 if (only_nonzero)
71bad7f08 popcornmix 2013-07-02 @3479 vchiq_log_warning(vchiq_susp_log_level, "Too many active "
71bad7f08 popcornmix 2013-07-02 3480 "services (%d). Only dumping up to first %d services "
71bad7f08 popcornmix 2013-07-02 3481 "with non-zero use-count", active_services,
8dbc30957 Stefan Wahren 2018-03-31 3482 ARRAY_SIZE(service_data));
71bad7f08 popcornmix 2013-07-02 3483
71bad7f08 popcornmix 2013-07-02 3484 for (i = 0; i < j; i++) {
71bad7f08 popcornmix 2013-07-02 3485 vchiq_log_warning(vchiq_susp_log_level,
71bad7f08 popcornmix 2013-07-02 3486 "----- %c%c%c%c:%d service count %d %s",
71bad7f08 popcornmix 2013-07-02 3487 VCHIQ_FOURCC_AS_4CHARS(service_data[i].fourcc),
71bad7f08 popcornmix 2013-07-02 3488 service_data[i].clientid,
71bad7f08 popcornmix 2013-07-02 3489 service_data[i].use_count,
71bad7f08 popcornmix 2013-07-02 3490 service_data[i].use_count ? nz : "");
71bad7f08 popcornmix 2013-07-02 3491 }
71bad7f08 popcornmix 2013-07-02 3492 vchiq_log_warning(vchiq_susp_log_level,
71bad7f08 popcornmix 2013-07-02 3493 "----- VCHIQ use count count %d", peer_count);
71bad7f08 popcornmix 2013-07-02 3494 vchiq_log_warning(vchiq_susp_log_level,
71bad7f08 popcornmix 2013-07-02 3495 "--- Overall vchiq instance use count %d", vc_use_count);
71bad7f08 popcornmix 2013-07-02 3496
71bad7f08 popcornmix 2013-07-02 3497 vchiq_dump_platform_use_state(state);
71bad7f08 popcornmix 2013-07-02 3498 }
71bad7f08 popcornmix 2013-07-02 3499
:::::: The code at line 3479 was first introduced by commit
:::::: 71bad7f086419dc674244b91ca35a12bfa4cb597 staging: add bcm2708 vchiq driver
:::::: TO: popcornmix <popcornmix at gmail.com>
:::::: CC: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
---
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: 50009 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-rpi-kernel/attachments/20180401/d4b7b159/attachment.gz>
More information about the linux-rpi-kernel
mailing list