[smfrench-smb3:for-next 12/18] fs/cifs/smb1ops.c:229 cifs_get_next_mid() error: uninitialized symbol 'reconnect'.
by Dan Carpenter
tree: git://github.com/smfrench/smb3-kernel.git for-next
head: 28711a66701e3aefc5748dcde38dba1e2e79de34
commit: 46c2db2a20898662a26fc3de1fa9499271049570 [12/18] cifs: take cifs_tcp_ses_lock for status checks
config: x86_64-randconfig-m001-20211119 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
Reported-by: Dan Carpenter <dan.carpenter(a)oracle.com>
smatch warnings:
fs/cifs/smb1ops.c:229 cifs_get_next_mid() error: uninitialized symbol 'reconnect'.
vim +/reconnect +229 fs/cifs/smb1ops.c
88257360605f93 Pavel Shilovsky 2012-05-23 161 static __u64
88257360605f93 Pavel Shilovsky 2012-05-23 162 cifs_get_next_mid(struct TCP_Server_Info *server)
88257360605f93 Pavel Shilovsky 2012-05-23 163 {
88257360605f93 Pavel Shilovsky 2012-05-23 164 __u64 mid = 0;
88257360605f93 Pavel Shilovsky 2012-05-23 165 __u16 last_mid, cur_mid;
46c2db2a208986 Steve French 2021-11-19 166 bool collision, reconnect;
"reconnect" is never set to false.
88257360605f93 Pavel Shilovsky 2012-05-23 167
88257360605f93 Pavel Shilovsky 2012-05-23 168 spin_lock(&GlobalMid_Lock);
88257360605f93 Pavel Shilovsky 2012-05-23 169
88257360605f93 Pavel Shilovsky 2012-05-23 170 /* mid is 16 bit only for CIFS/SMB */
88257360605f93 Pavel Shilovsky 2012-05-23 171 cur_mid = (__u16)((server->CurrentMid) & 0xffff);
88257360605f93 Pavel Shilovsky 2012-05-23 172 /* we do not want to loop forever */
88257360605f93 Pavel Shilovsky 2012-05-23 173 last_mid = cur_mid;
88257360605f93 Pavel Shilovsky 2012-05-23 174 cur_mid++;
03d9a9fe3f3aec Roberto Bergantinos Corpas 2019-10-14 175 /* avoid 0xFFFF MID */
03d9a9fe3f3aec Roberto Bergantinos Corpas 2019-10-14 176 if (cur_mid == 0xffff)
03d9a9fe3f3aec Roberto Bergantinos Corpas 2019-10-14 177 cur_mid++;
88257360605f93 Pavel Shilovsky 2012-05-23 178
88257360605f93 Pavel Shilovsky 2012-05-23 179 /*
88257360605f93 Pavel Shilovsky 2012-05-23 180 * This nested loop looks more expensive than it is.
88257360605f93 Pavel Shilovsky 2012-05-23 181 * In practice the list of pending requests is short,
88257360605f93 Pavel Shilovsky 2012-05-23 182 * fewer than 50, and the mids are likely to be unique
88257360605f93 Pavel Shilovsky 2012-05-23 183 * on the first pass through the loop unless some request
88257360605f93 Pavel Shilovsky 2012-05-23 184 * takes longer than the 64 thousand requests before it
88257360605f93 Pavel Shilovsky 2012-05-23 185 * (and it would also have to have been a request that
88257360605f93 Pavel Shilovsky 2012-05-23 186 * did not time out).
88257360605f93 Pavel Shilovsky 2012-05-23 187 */
88257360605f93 Pavel Shilovsky 2012-05-23 188 while (cur_mid != last_mid) {
88257360605f93 Pavel Shilovsky 2012-05-23 189 struct mid_q_entry *mid_entry;
88257360605f93 Pavel Shilovsky 2012-05-23 190 unsigned int num_mids;
88257360605f93 Pavel Shilovsky 2012-05-23 191
88257360605f93 Pavel Shilovsky 2012-05-23 192 collision = false;
88257360605f93 Pavel Shilovsky 2012-05-23 193 if (cur_mid == 0)
88257360605f93 Pavel Shilovsky 2012-05-23 194 cur_mid++;
88257360605f93 Pavel Shilovsky 2012-05-23 195
88257360605f93 Pavel Shilovsky 2012-05-23 196 num_mids = 0;
88257360605f93 Pavel Shilovsky 2012-05-23 197 list_for_each_entry(mid_entry, &server->pending_mid_q, qhead) {
88257360605f93 Pavel Shilovsky 2012-05-23 198 ++num_mids;
88257360605f93 Pavel Shilovsky 2012-05-23 199 if (mid_entry->mid == cur_mid &&
88257360605f93 Pavel Shilovsky 2012-05-23 200 mid_entry->mid_state == MID_REQUEST_SUBMITTED) {
88257360605f93 Pavel Shilovsky 2012-05-23 201 /* This mid is in use, try a different one */
88257360605f93 Pavel Shilovsky 2012-05-23 202 collision = true;
88257360605f93 Pavel Shilovsky 2012-05-23 203 break;
88257360605f93 Pavel Shilovsky 2012-05-23 204 }
88257360605f93 Pavel Shilovsky 2012-05-23 205 }
88257360605f93 Pavel Shilovsky 2012-05-23 206
88257360605f93 Pavel Shilovsky 2012-05-23 207 /*
88257360605f93 Pavel Shilovsky 2012-05-23 208 * if we have more than 32k mids in the list, then something
88257360605f93 Pavel Shilovsky 2012-05-23 209 * is very wrong. Possibly a local user is trying to DoS the
88257360605f93 Pavel Shilovsky 2012-05-23 210 * box by issuing long-running calls and SIGKILL'ing them. If
88257360605f93 Pavel Shilovsky 2012-05-23 211 * we get to 2^16 mids then we're in big trouble as this
88257360605f93 Pavel Shilovsky 2012-05-23 212 * function could loop forever.
88257360605f93 Pavel Shilovsky 2012-05-23 213 *
88257360605f93 Pavel Shilovsky 2012-05-23 214 * Go ahead and assign out the mid in this situation, but force
88257360605f93 Pavel Shilovsky 2012-05-23 215 * an eventual reconnect to clean out the pending_mid_q.
88257360605f93 Pavel Shilovsky 2012-05-23 216 */
88257360605f93 Pavel Shilovsky 2012-05-23 217 if (num_mids > 32768)
46c2db2a208986 Steve French 2021-11-19 218 reconnect = true;
88257360605f93 Pavel Shilovsky 2012-05-23 219
88257360605f93 Pavel Shilovsky 2012-05-23 220 if (!collision) {
88257360605f93 Pavel Shilovsky 2012-05-23 221 mid = (__u64)cur_mid;
88257360605f93 Pavel Shilovsky 2012-05-23 222 server->CurrentMid = mid;
88257360605f93 Pavel Shilovsky 2012-05-23 223 break;
88257360605f93 Pavel Shilovsky 2012-05-23 224 }
88257360605f93 Pavel Shilovsky 2012-05-23 225 cur_mid++;
88257360605f93 Pavel Shilovsky 2012-05-23 226 }
88257360605f93 Pavel Shilovsky 2012-05-23 227 spin_unlock(&GlobalMid_Lock);
46c2db2a208986 Steve French 2021-11-19 228
46c2db2a208986 Steve French 2021-11-19 @229 if (reconnect) {
46c2db2a208986 Steve French 2021-11-19 230 spin_lock(&cifs_tcp_ses_lock);
46c2db2a208986 Steve French 2021-11-19 231 server->tcpStatus = CifsNeedReconnect;
46c2db2a208986 Steve French 2021-11-19 232 spin_unlock(&cifs_tcp_ses_lock);
46c2db2a208986 Steve French 2021-11-19 233 }
46c2db2a208986 Steve French 2021-11-19 234
88257360605f93 Pavel Shilovsky 2012-05-23 235 return mid;
88257360605f93 Pavel Shilovsky 2012-05-23 236 }
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
10 months
[ti:ti-rt-linux-5.10.y 7558/10206] drivers/media/mc/mc-entity.c:443 __media_pipeline_start() error: uninitialized symbol 'ret'.
by Dan Carpenter
tree: git://git.ti.com/ti-linux-kernel/ti-linux-kernel.git ti-rt-linux-5.10.y
head: 0c67d996db8f3c9149598bc98657ae28fee22208
commit: 80dac899053d08524a40f195905022bb08e6104c [7558/10206] media: entity: Move the pipeline from entity to pads
config: x86_64-randconfig-m001-20211116 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
Reported-by: Dan Carpenter <dan.carpenter(a)oracle.com>
smatch warnings:
drivers/media/mc/mc-entity.c:443 __media_pipeline_start() error: uninitialized symbol 'ret'.
vim +/ret +443 drivers/media/mc/mc-entity.c
20b852273642f4 drivers/media/media-entity.c Sakari Ailus 2016-11-21 406 __must_check int __media_pipeline_start(struct media_entity *entity,
e02188c90f6ef6 drivers/media/media-entity.c Laurent Pinchart 2010-08-25 407 struct media_pipeline *pipe)
e02188c90f6ef6 drivers/media/media-entity.c Laurent Pinchart 2010-08-25 408 {
d10c98949d1a1f drivers/media/media-entity.c Javier Martinez Canillas 2015-08-19 409 struct media_device *mdev = entity->graph_obj.mdev;
20b852273642f4 drivers/media/media-entity.c Sakari Ailus 2016-11-21 410 struct media_graph *graph = &pipe->graph;
cd448544d8c6d3 drivers/media/mc/mc-entity.c Sakari Ailus 2021-07-14 411 struct media_pad *pad = entity->pads;
cd448544d8c6d3 drivers/media/mc/mc-entity.c Sakari Ailus 2021-07-14 412 struct media_pad *pad_err = pad;
57208e5e25f263 drivers/media/media-entity.c Mauro Carvalho Chehab 2015-08-07 413 struct media_link *link;
af88be3887c1a0 drivers/media/media-entity.c Sakari Ailus 2012-01-11 414 int ret;
^^^^^^^
e02188c90f6ef6 drivers/media/media-entity.c Laurent Pinchart 2010-08-25 415
74a4133079f739 drivers/media/media-entity.c Sakari Ailus 2015-12-16 416 if (!pipe->streaming_count++) {
20b852273642f4 drivers/media/media-entity.c Sakari Ailus 2016-11-21 417 ret = media_graph_walk_init(&pipe->graph, mdev);
74a4133079f739 drivers/media/media-entity.c Sakari Ailus 2015-12-16 418 if (ret)
74a4133079f739 drivers/media/media-entity.c Sakari Ailus 2015-12-16 419 goto error_graph_walk_start;
106b9907c368e3 drivers/media/media-entity.c Sakari Ailus 2015-12-16 420 }
106b9907c368e3 drivers/media/media-entity.c Sakari Ailus 2015-12-16 421
cd448544d8c6d3 drivers/media/mc/mc-entity.c Sakari Ailus 2021-07-14 422 media_graph_walk_start(&pipe->graph, pad);
cd448544d8c6d3 drivers/media/mc/mc-entity.c Sakari Ailus 2021-07-14 423
cd448544d8c6d3 drivers/media/mc/mc-entity.c Sakari Ailus 2021-07-14 424 while ((pad = media_graph_walk_next(graph))) {
cd448544d8c6d3 drivers/media/mc/mc-entity.c Sakari Ailus 2021-07-14 425 struct media_entity *entity = pad->entity;
80dac899053d08 drivers/media/mc/mc-entity.c Sakari Ailus 2021-07-14 426 bool skip_validation = pad->pipe != NULL;
80dac899053d08 drivers/media/mc/mc-entity.c Sakari Ailus 2021-07-14 427 struct media_pad *iter;
e02188c90f6ef6 drivers/media/media-entity.c Laurent Pinchart 2010-08-25 428
ef69ee1bc2c10f drivers/media/media-entity.c Mauro Carvalho Chehab 2015-10-01 429 DECLARE_BITMAP(active, MEDIA_ENTITY_MAX_PADS);
ef69ee1bc2c10f drivers/media/media-entity.c Mauro Carvalho Chehab 2015-10-01 430 DECLARE_BITMAP(has_no_links, MEDIA_ENTITY_MAX_PADS);
af88be3887c1a0 drivers/media/media-entity.c Sakari Ailus 2012-01-11 431
80dac899053d08 drivers/media/mc/mc-entity.c Sakari Ailus 2021-07-14 432 media_entity_for_each_pad(entity, iter) {
80dac899053d08 drivers/media/mc/mc-entity.c Sakari Ailus 2021-07-14 433 if (iter->pipe && iter->pipe != pipe) {
3eb87773dee633 drivers/media/media-entity.c Shuah Khan 2019-02-22 434 pr_err("Pipe active for %s. Can't start for %s\n",
80dac899053d08 drivers/media/mc/mc-entity.c Sakari Ailus 2021-07-14 435 entity->name, iter->entity->name);
8aaf62b5b9bef7 drivers/media/media-entity.c Sakari Ailus 2015-11-29 436 ret = -EBUSY;
"ret" is not necessarily initialized on the success path.
80dac899053d08 drivers/media/mc/mc-entity.c Sakari Ailus 2021-07-14 437 } else {
80dac899053d08 drivers/media/mc/mc-entity.c Sakari Ailus 2021-07-14 438 iter->pipe = pipe;
80dac899053d08 drivers/media/mc/mc-entity.c Sakari Ailus 2021-07-14 439 }
80dac899053d08 drivers/media/mc/mc-entity.c Sakari Ailus 2021-07-14 440 iter->stream_count++;
8aaf62b5b9bef7 drivers/media/media-entity.c Sakari Ailus 2015-11-29 441 }
8aaf62b5b9bef7 drivers/media/media-entity.c Sakari Ailus 2015-11-29 442
80dac899053d08 drivers/media/mc/mc-entity.c Sakari Ailus 2021-07-14 @443 if (ret)
^^^
80dac899053d08 drivers/media/mc/mc-entity.c Sakari Ailus 2021-07-14 444 goto error;
af88be3887c1a0 drivers/media/media-entity.c Sakari Ailus 2012-01-11 445
80dac899053d08 drivers/media/mc/mc-entity.c Sakari Ailus 2021-07-14 446 /* Already part of the pipeline, skip validation. */
80dac899053d08 drivers/media/mc/mc-entity.c Sakari Ailus 2021-07-14 447 if (skip_validation)
af88be3887c1a0 drivers/media/media-entity.c Sakari Ailus 2012-01-11 448 continue;
af88be3887c1a0 drivers/media/media-entity.c Sakari Ailus 2012-01-11 449
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
10 months
Re: [PATCH 1/2] leds: ktd20xx: Add the KTD20xx family of the RGB LEDs driver from Kinetic
by Dan Carpenter
Hi Florian,
url: https://github.com/0day-ci/linux/commits/Florian-Eckert/leds-Add-KTD20xx-...
base: git://git.kernel.org/pub/scm/linux/kernel/git/pavel/linux-leds.git for-next
config: i386-randconfig-m031-20211115 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
Reported-by: Dan Carpenter <dan.carpenter(a)oracle.com>
smatch warnings:
drivers/leds/leds-ktd20xx.c:304 ktd20xx_probe_dt() warn: missing error code 'ret'
drivers/leds/leds-ktd20xx.c:492 current_color0_store() warn: unsigned 'value[i]' is never less than zero.
drivers/leds/leds-ktd20xx.c:566 current_color1_store() warn: unsigned 'value[i]' is never less than zero.
drivers/leds/leds-ktd20xx.c:661 faderate_store() warn: unsigned 'faderate' is never less than zero.
vim +/ret +304 drivers/leds/leds-ktd20xx.c
004e74105bb360 Florian Eckert 2021-11-09 281 static int ktd20xx_probe_dt(struct ktd20xx *chip)
004e74105bb360 Florian Eckert 2021-11-09 282 {
004e74105bb360 Florian Eckert 2021-11-09 283 struct fwnode_handle *child = NULL;
004e74105bb360 Florian Eckert 2021-11-09 284 struct led_init_data init_data = {};
004e74105bb360 Florian Eckert 2021-11-09 285 struct led_classdev *led_cdev;
004e74105bb360 Florian Eckert 2021-11-09 286 struct ktd20xx_led *led;
004e74105bb360 Florian Eckert 2021-11-09 287 struct device *dev = &chip->client->dev;
004e74105bb360 Florian Eckert 2021-11-09 288 u8 value[3] = { 0, 0, 0 };
004e74105bb360 Florian Eckert 2021-11-09 289 int i = 0;
004e74105bb360 Florian Eckert 2021-11-09 290 int ret = -EINVAL;
004e74105bb360 Florian Eckert 2021-11-09 291 int color;
004e74105bb360 Florian Eckert 2021-11-09 292
004e74105bb360 Florian Eckert 2021-11-09 293 device_for_each_child_node(chip->dev, child) {
004e74105bb360 Florian Eckert 2021-11-09 294 led = &chip->leds[i];
004e74105bb360 Florian Eckert 2021-11-09 295
004e74105bb360 Florian Eckert 2021-11-09 296 ret = fwnode_property_read_u32(child, "reg", &led->index);
004e74105bb360 Florian Eckert 2021-11-09 297 if (ret) {
004e74105bb360 Florian Eckert 2021-11-09 298 dev_err(dev, "missing property: reg\n");
004e74105bb360 Florian Eckert 2021-11-09 299 goto child_out;
004e74105bb360 Florian Eckert 2021-11-09 300 }
004e74105bb360 Florian Eckert 2021-11-09 301 if (led->index >= KTD20XX_MAX_LEDS) {
004e74105bb360 Florian Eckert 2021-11-09 302 dev_warn(dev, "property 'reg' must contain value between '0' and '%i'\n",
004e74105bb360 Florian Eckert 2021-11-09 303 KTD20XX_MAX_LEDS);
ret = -EINVAL;
004e74105bb360 Florian Eckert 2021-11-09 @304 goto child_out;
004e74105bb360 Florian Eckert 2021-11-09 305 }
004e74105bb360 Florian Eckert 2021-11-09 306
004e74105bb360 Florian Eckert 2021-11-09 307 ret = fwnode_property_read_u32(child, "color", &color);
004e74105bb360 Florian Eckert 2021-11-09 308 if (ret) {
004e74105bb360 Florian Eckert 2021-11-09 309 dev_err(dev, "missing property: color\n");
004e74105bb360 Florian Eckert 2021-11-09 310 goto child_out;
004e74105bb360 Florian Eckert 2021-11-09 311 }
004e74105bb360 Florian Eckert 2021-11-09 312 if (color != LED_COLOR_ID_RGB) {
004e74105bb360 Florian Eckert 2021-11-09 313 dev_warn(dev, "property 'color' must contain value 'LED_COLOR_ID_RGB'\n");
ret = -EINVAL;
004e74105bb360 Florian Eckert 2021-11-09 314 goto child_out;
004e74105bb360 Florian Eckert 2021-11-09 315 }
004e74105bb360 Florian Eckert 2021-11-09 316
004e74105bb360 Florian Eckert 2021-11-09 317 /* Get default color register selection */
004e74105bb360 Florian Eckert 2021-11-09 318 if (fwnode_property_read_u8_array(child, "kinetic,color-selection", value, 3))
004e74105bb360 Florian Eckert 2021-11-09 319 dev_warn(dev, "no kinetic,color-selection property found, use default rgbt color selection from register 0.\n");
004e74105bb360 Florian Eckert 2021-11-09 320
004e74105bb360 Florian Eckert 2021-11-09 321 led->subled_info[0].color_index = LED_COLOR_ID_RED;
004e74105bb360 Florian Eckert 2021-11-09 322 led->subled_info[0].channel = 0;
004e74105bb360 Florian Eckert 2021-11-09 323 led->subled_info[0].intensity = value[0];
004e74105bb360 Florian Eckert 2021-11-09 324 led->subled_info[1].color_index = LED_COLOR_ID_GREEN;
004e74105bb360 Florian Eckert 2021-11-09 325 led->subled_info[1].channel = 1;
004e74105bb360 Florian Eckert 2021-11-09 326 led->subled_info[1].intensity = value[1];
004e74105bb360 Florian Eckert 2021-11-09 327 led->subled_info[2].color_index = LED_COLOR_ID_BLUE;
004e74105bb360 Florian Eckert 2021-11-09 328 led->subled_info[2].channel = 2;
004e74105bb360 Florian Eckert 2021-11-09 329 led->subled_info[2].intensity = value[2];
004e74105bb360 Florian Eckert 2021-11-09 330
004e74105bb360 Florian Eckert 2021-11-09 331 led->mc_cdev.subled_info = led->subled_info;
004e74105bb360 Florian Eckert 2021-11-09 332 led->mc_cdev.num_colors = KTD20XX_LED_CHANNELS;
004e74105bb360 Florian Eckert 2021-11-09 333
004e74105bb360 Florian Eckert 2021-11-09 334 init_data.fwnode = child;
004e74105bb360 Florian Eckert 2021-11-09 335
004e74105bb360 Florian Eckert 2021-11-09 336 led->chip = chip;
004e74105bb360 Florian Eckert 2021-11-09 337 led_cdev = &led->mc_cdev.led_cdev;
004e74105bb360 Florian Eckert 2021-11-09 338 led_cdev->brightness_set_blocking = ktd20xx_brightness_set;
004e74105bb360 Florian Eckert 2021-11-09 339
004e74105bb360 Florian Eckert 2021-11-09 340 switch (led->index) {
004e74105bb360 Florian Eckert 2021-11-09 341 case RGB_A1:
004e74105bb360 Florian Eckert 2021-11-09 342 led->select = devm_regmap_field_alloc(chip->dev,
004e74105bb360 Florian Eckert 2021-11-09 343 chip->regmap, kt20xx_a1_select);
004e74105bb360 Florian Eckert 2021-11-09 344 led->enable = devm_regmap_field_alloc(chip->dev,
004e74105bb360 Florian Eckert 2021-11-09 345 chip->regmap, kt20xx_a1_enable);
004e74105bb360 Florian Eckert 2021-11-09 346 break;
004e74105bb360 Florian Eckert 2021-11-09 347 case RGB_A2:
004e74105bb360 Florian Eckert 2021-11-09 348 led->select = devm_regmap_field_alloc(chip->dev,
004e74105bb360 Florian Eckert 2021-11-09 349 chip->regmap, kt20xx_a2_select);
004e74105bb360 Florian Eckert 2021-11-09 350 led->enable = devm_regmap_field_alloc(chip->dev,
004e74105bb360 Florian Eckert 2021-11-09 351 chip->regmap, kt20xx_a2_enable);
004e74105bb360 Florian Eckert 2021-11-09 352 break;
004e74105bb360 Florian Eckert 2021-11-09 353 case RGB_A3:
004e74105bb360 Florian Eckert 2021-11-09 354 led->select = devm_regmap_field_alloc(chip->dev,
004e74105bb360 Florian Eckert 2021-11-09 355 chip->regmap, kt20xx_a3_select);
004e74105bb360 Florian Eckert 2021-11-09 356 led->enable = devm_regmap_field_alloc(chip->dev,
004e74105bb360 Florian Eckert 2021-11-09 357 chip->regmap, kt20xx_a3_enable);
004e74105bb360 Florian Eckert 2021-11-09 358 break;
004e74105bb360 Florian Eckert 2021-11-09 359 case RGB_A4:
004e74105bb360 Florian Eckert 2021-11-09 360 led->select = devm_regmap_field_alloc(chip->dev,
004e74105bb360 Florian Eckert 2021-11-09 361 chip->regmap, kt20xx_a4_select);
004e74105bb360 Florian Eckert 2021-11-09 362 led->enable = devm_regmap_field_alloc(chip->dev,
004e74105bb360 Florian Eckert 2021-11-09 363 chip->regmap, kt20xx_a4_enable);
004e74105bb360 Florian Eckert 2021-11-09 364 break;
004e74105bb360 Florian Eckert 2021-11-09 365 case RGB_B1:
004e74105bb360 Florian Eckert 2021-11-09 366 led->select = devm_regmap_field_alloc(chip->dev,
004e74105bb360 Florian Eckert 2021-11-09 367 chip->regmap, kt20xx_b1_select);
004e74105bb360 Florian Eckert 2021-11-09 368 led->enable = devm_regmap_field_alloc(chip->dev,
004e74105bb360 Florian Eckert 2021-11-09 369 chip->regmap, kt20xx_b1_enable);
004e74105bb360 Florian Eckert 2021-11-09 370 break;
004e74105bb360 Florian Eckert 2021-11-09 371 case RGB_B2:
004e74105bb360 Florian Eckert 2021-11-09 372 led->select = devm_regmap_field_alloc(chip->dev,
004e74105bb360 Florian Eckert 2021-11-09 373 chip->regmap, kt20xx_b2_select);
004e74105bb360 Florian Eckert 2021-11-09 374 led->enable = devm_regmap_field_alloc(chip->dev,
004e74105bb360 Florian Eckert 2021-11-09 375 chip->regmap, kt20xx_b2_enable);
004e74105bb360 Florian Eckert 2021-11-09 376 break;
004e74105bb360 Florian Eckert 2021-11-09 377 case RGB_B3:
004e74105bb360 Florian Eckert 2021-11-09 378 led->select = devm_regmap_field_alloc(chip->dev,
004e74105bb360 Florian Eckert 2021-11-09 379 chip->regmap, kt20xx_b3_select);
004e74105bb360 Florian Eckert 2021-11-09 380 led->enable = devm_regmap_field_alloc(chip->dev,
004e74105bb360 Florian Eckert 2021-11-09 381 chip->regmap, kt20xx_b3_enable);
004e74105bb360 Florian Eckert 2021-11-09 382 break;
004e74105bb360 Florian Eckert 2021-11-09 383 case RGB_B4:
004e74105bb360 Florian Eckert 2021-11-09 384 led->select = devm_regmap_field_alloc(chip->dev,
004e74105bb360 Florian Eckert 2021-11-09 385 chip->regmap, kt20xx_b4_select);
004e74105bb360 Florian Eckert 2021-11-09 386 led->enable = devm_regmap_field_alloc(chip->dev,
004e74105bb360 Florian Eckert 2021-11-09 387 chip->regmap, kt20xx_b4_enable);
004e74105bb360 Florian Eckert 2021-11-09 388 break;
004e74105bb360 Florian Eckert 2021-11-09 389 case RGB_C1:
004e74105bb360 Florian Eckert 2021-11-09 390 led->select = devm_regmap_field_alloc(chip->dev,
004e74105bb360 Florian Eckert 2021-11-09 391 chip->regmap, kt20xx_c1_select);
004e74105bb360 Florian Eckert 2021-11-09 392 led->enable = devm_regmap_field_alloc(chip->dev,
004e74105bb360 Florian Eckert 2021-11-09 393 chip->regmap, kt20xx_c1_enable);
004e74105bb360 Florian Eckert 2021-11-09 394 break;
004e74105bb360 Florian Eckert 2021-11-09 395 case RGB_C2:
004e74105bb360 Florian Eckert 2021-11-09 396 led->select = devm_regmap_field_alloc(chip->dev,
004e74105bb360 Florian Eckert 2021-11-09 397 chip->regmap, kt20xx_c2_select);
004e74105bb360 Florian Eckert 2021-11-09 398 led->enable = devm_regmap_field_alloc(chip->dev,
004e74105bb360 Florian Eckert 2021-11-09 399 chip->regmap, kt20xx_c2_enable);
004e74105bb360 Florian Eckert 2021-11-09 400 break;
004e74105bb360 Florian Eckert 2021-11-09 401 case RGB_C3:
004e74105bb360 Florian Eckert 2021-11-09 402 led->select = devm_regmap_field_alloc(chip->dev,
004e74105bb360 Florian Eckert 2021-11-09 403 chip->regmap, kt20xx_c3_select);
004e74105bb360 Florian Eckert 2021-11-09 404 led->enable = devm_regmap_field_alloc(chip->dev,
004e74105bb360 Florian Eckert 2021-11-09 405 chip->regmap, kt20xx_c3_enable);
004e74105bb360 Florian Eckert 2021-11-09 406 break;
004e74105bb360 Florian Eckert 2021-11-09 407 case RGB_C4:
004e74105bb360 Florian Eckert 2021-11-09 408 led->select = devm_regmap_field_alloc(chip->dev,
004e74105bb360 Florian Eckert 2021-11-09 409 chip->regmap, kt20xx_c4_select);
004e74105bb360 Florian Eckert 2021-11-09 410 led->enable = devm_regmap_field_alloc(chip->dev,
004e74105bb360 Florian Eckert 2021-11-09 411 chip->regmap, kt20xx_c4_enable);
004e74105bb360 Florian Eckert 2021-11-09 412 break;
004e74105bb360 Florian Eckert 2021-11-09 413 }
004e74105bb360 Florian Eckert 2021-11-09 414
004e74105bb360 Florian Eckert 2021-11-09 415 ret = devm_led_classdev_multicolor_register_ext(&chip->client->dev,
004e74105bb360 Florian Eckert 2021-11-09 416 &led->mc_cdev,
004e74105bb360 Florian Eckert 2021-11-09 417 &init_data);
004e74105bb360 Florian Eckert 2021-11-09 418
004e74105bb360 Florian Eckert 2021-11-09 419 if (ret) {
004e74105bb360 Florian Eckert 2021-11-09 420 dev_err(&chip->client->dev, "led register err: %d\n", ret);
004e74105bb360 Florian Eckert 2021-11-09 421 goto child_out;
004e74105bb360 Florian Eckert 2021-11-09 422 }
004e74105bb360 Florian Eckert 2021-11-09 423
004e74105bb360 Florian Eckert 2021-11-09 424 i++;
004e74105bb360 Florian Eckert 2021-11-09 425 fwnode_handle_put(child);
004e74105bb360 Florian Eckert 2021-11-09 426 }
004e74105bb360 Florian Eckert 2021-11-09 427
004e74105bb360 Florian Eckert 2021-11-09 428 return 0;
004e74105bb360 Florian Eckert 2021-11-09 429
004e74105bb360 Florian Eckert 2021-11-09 430 child_out:
004e74105bb360 Florian Eckert 2021-11-09 431 fwnode_handle_put(child);
004e74105bb360 Florian Eckert 2021-11-09 432 return ret;
004e74105bb360 Florian Eckert 2021-11-09 433 }
004e74105bb360 Florian Eckert 2021-11-09 434
004e74105bb360 Florian Eckert 2021-11-09 435 /* Device attribute for color0 register
004e74105bb360 Florian Eckert 2021-11-09 436 *
004e74105bb360 Florian Eckert 2021-11-09 437 * The device attribute colour1 is intended to adjust the colour space.
004e74105bb360 Florian Eckert 2021-11-09 438 * The colour strength can be controlled via the current in 125uA steps.
004e74105bb360 Florian Eckert 2021-11-09 439 * The maximum current for the individual channels is limited to 24mA.
004e74105bb360 Florian Eckert 2021-11-09 440 * To set a new RGB value, 3 values must be passed. This value may not be
004e74105bb360 Florian Eckert 2021-11-09 441 * less than 0 and also not greater than 194. The chip can only process the
004e74105bb360 Florian Eckert 2021-11-09 442 * maximum current of 24mA. This means that any value greater than 194
004e74105bb360 Florian Eckert 2021-11-09 443 * cannot be set.
004e74105bb360 Florian Eckert 2021-11-09 444 */
004e74105bb360 Florian Eckert 2021-11-09 445 static ssize_t current_color0_show(struct device *dev,
004e74105bb360 Florian Eckert 2021-11-09 446 struct device_attribute *a,
004e74105bb360 Florian Eckert 2021-11-09 447 char *buf)
004e74105bb360 Florian Eckert 2021-11-09 448 {
004e74105bb360 Florian Eckert 2021-11-09 449 struct i2c_client *client = to_i2c_client(dev);
004e74105bb360 Florian Eckert 2021-11-09 450 struct ktd20xx *chip = i2c_get_clientdata(client);
004e74105bb360 Florian Eckert 2021-11-09 451 unsigned int value;
004e74105bb360 Florian Eckert 2021-11-09 452 int len = 0;
004e74105bb360 Florian Eckert 2021-11-09 453
004e74105bb360 Florian Eckert 2021-11-09 454 mutex_lock(&chip->lock);
004e74105bb360 Florian Eckert 2021-11-09 455 regmap_read(chip->regmap, KTD20XX_IRED0, &value);
004e74105bb360 Florian Eckert 2021-11-09 456 len += sprintf(buf + len, "%d", value);
004e74105bb360 Florian Eckert 2021-11-09 457 len += sprintf(buf + len, " ");
004e74105bb360 Florian Eckert 2021-11-09 458
004e74105bb360 Florian Eckert 2021-11-09 459 regmap_read(chip->regmap, KTD20XX_IGRN0, &value);
004e74105bb360 Florian Eckert 2021-11-09 460 len += sprintf(buf + len, "%d", value);
004e74105bb360 Florian Eckert 2021-11-09 461 len += sprintf(buf + len, " ");
004e74105bb360 Florian Eckert 2021-11-09 462
004e74105bb360 Florian Eckert 2021-11-09 463 regmap_read(chip->regmap, KTD20XX_IBLU0, &value);
004e74105bb360 Florian Eckert 2021-11-09 464 len += sprintf(buf + len, "%d", value);
004e74105bb360 Florian Eckert 2021-11-09 465 mutex_unlock(&chip->lock);
004e74105bb360 Florian Eckert 2021-11-09 466
004e74105bb360 Florian Eckert 2021-11-09 467 buf[len++] = '\n';
004e74105bb360 Florian Eckert 2021-11-09 468 return len;
004e74105bb360 Florian Eckert 2021-11-09 469 }
004e74105bb360 Florian Eckert 2021-11-09 470
004e74105bb360 Florian Eckert 2021-11-09 471 static ssize_t current_color0_store(struct device *dev,
004e74105bb360 Florian Eckert 2021-11-09 472 struct device_attribute *a,
004e74105bb360 Florian Eckert 2021-11-09 473 const char *buf, size_t size)
004e74105bb360 Florian Eckert 2021-11-09 474 {
004e74105bb360 Florian Eckert 2021-11-09 475 struct i2c_client *client = to_i2c_client(dev);
004e74105bb360 Florian Eckert 2021-11-09 476 struct ktd20xx *chip = i2c_get_clientdata(client);
004e74105bb360 Florian Eckert 2021-11-09 477 unsigned int value[3];
004e74105bb360 Florian Eckert 2021-11-09 478 int i;
004e74105bb360 Florian Eckert 2021-11-09 479 ssize_t ret;
004e74105bb360 Florian Eckert 2021-11-09 480
004e74105bb360 Florian Eckert 2021-11-09 481 ret = sscanf(buf, "%u %u %u", &value[0], &value[1], &value[2]);
004e74105bb360 Florian Eckert 2021-11-09 482 if (ret < 3) {
004e74105bb360 Florian Eckert 2021-11-09 483 ret = -EINVAL;
004e74105bb360 Florian Eckert 2021-11-09 484 goto err_out;
004e74105bb360 Florian Eckert 2021-11-09 485 }
004e74105bb360 Florian Eckert 2021-11-09 486
004e74105bb360 Florian Eckert 2021-11-09 487 for (i = 0; i < 3; i++) {
004e74105bb360 Florian Eckert 2021-11-09 488 if (value[i] > 194) {
004e74105bb360 Florian Eckert 2021-11-09 489 ret = -EINVAL;
004e74105bb360 Florian Eckert 2021-11-09 490 goto err_out;
004e74105bb360 Florian Eckert 2021-11-09 491 }
004e74105bb360 Florian Eckert 2021-11-09 @492 if (value[i] < 0) {
^^^^^^^^^^^^
Impossible
004e74105bb360 Florian Eckert 2021-11-09 493 ret = -EINVAL;
004e74105bb360 Florian Eckert 2021-11-09 494 goto err_out;
004e74105bb360 Florian Eckert 2021-11-09 495 }
004e74105bb360 Florian Eckert 2021-11-09 496 }
004e74105bb360 Florian Eckert 2021-11-09 497
004e74105bb360 Florian Eckert 2021-11-09 498 mutex_lock(&chip->lock);
004e74105bb360 Florian Eckert 2021-11-09 499 regmap_write(chip->regmap, KTD20XX_IRED0, value[0]);
004e74105bb360 Florian Eckert 2021-11-09 500 regmap_write(chip->regmap, KTD20XX_IGRN0, value[1]);
004e74105bb360 Florian Eckert 2021-11-09 501 regmap_write(chip->regmap, KTD20XX_IBLU0, value[2]);
004e74105bb360 Florian Eckert 2021-11-09 502 mutex_unlock(&chip->lock);
004e74105bb360 Florian Eckert 2021-11-09 503 return size;
004e74105bb360 Florian Eckert 2021-11-09 504
004e74105bb360 Florian Eckert 2021-11-09 505 err_out:
004e74105bb360 Florian Eckert 2021-11-09 506 return ret;
004e74105bb360 Florian Eckert 2021-11-09 507 }
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
10 months
drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm_debugfs.c:2721 crc_win_update_set() error: we previously assumed 'crc_rd_wrk' could be null (see line 2700)
by Dan Carpenter
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: a90af8f15bdc9449ee2d24e1d73fa3f7e8633f81
commit: 9a65df19310859bbc185a4bb8ed45fe1479bd8f2 drm/amd/display: Use PSP TA to read out crc
config: x86_64-randconfig-m001-20211103 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
Reported-by: Dan Carpenter <dan.carpenter(a)oracle.com>
New smatch warnings:
drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm_debugfs.c:2721 crc_win_update_set() error: we previously assumed 'crc_rd_wrk' could be null (see line 2700)
Old smatch warnings:
drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm_debugfs.c:1190 dp_dsc_clock_en_read() warn: inconsistent indenting
drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm_debugfs.c:1204 dp_dsc_clock_en_read() error: snprintf() is printing too much 30 vs 10
drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm_debugfs.c:1292 dp_dsc_clock_en_write() warn: inconsistent indenting
drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm_debugfs.c:1377 dp_dsc_slice_width_read() warn: inconsistent indenting
drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm_debugfs.c:1477 dp_dsc_slice_width_write() warn: inconsistent indenting
drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm_debugfs.c:1562 dp_dsc_slice_height_read() warn: inconsistent indenting
drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm_debugfs.c:1662 dp_dsc_slice_height_write() warn: inconsistent indenting
drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm_debugfs.c:1743 dp_dsc_bits_per_pixel_read() warn: inconsistent indenting
drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm_debugfs.c:1840 dp_dsc_bits_per_pixel_write() warn: inconsistent indenting
drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm_debugfs.c:1919 dp_dsc_pic_width_read() warn: inconsistent indenting
drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm_debugfs.c:1976 dp_dsc_pic_height_read() warn: inconsistent indenting
drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm_debugfs.c:2048 dp_dsc_chunk_size_read() warn: inconsistent indenting
drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm_debugfs.c:2120 dp_dsc_slice_bpg_offset_read() warn: inconsistent indenting
vim +/crc_rd_wrk +2721 drivers/gpu/drm/amd/amdgpu/../display/amdgpu_dm/amdgpu_dm_debugfs.c
86bc221918925a Wayne Lin 2021-03-02 2689 static int crc_win_update_set(void *data, u64 val)
86bc221918925a Wayne Lin 2021-03-02 2690 {
9a65df19310859 Wayne Lin 2021-03-02 2691 struct drm_crtc *new_crtc = data;
9a65df19310859 Wayne Lin 2021-03-02 2692 struct drm_crtc *old_crtc = NULL;
9a65df19310859 Wayne Lin 2021-03-02 2693 struct amdgpu_crtc *new_acrtc, *old_acrtc;
9a65df19310859 Wayne Lin 2021-03-02 2694 struct amdgpu_device *adev = drm_to_adev(new_crtc->dev);
9a65df19310859 Wayne Lin 2021-03-02 2695 struct crc_rd_work *crc_rd_wrk = adev->dm.crc_rd_wrk;
86bc221918925a Wayne Lin 2021-03-02 2696
86bc221918925a Wayne Lin 2021-03-02 2697 if (val) {
9a65df19310859 Wayne Lin 2021-03-02 2698 spin_lock_irq(&crc_rd_wrk->crc_rd_work_lock);
9a65df19310859 Wayne Lin 2021-03-02 2699 spin_lock_irq(&adev_to_drm(adev)->event_lock);
9a65df19310859 Wayne Lin 2021-03-02 @2700 if (crc_rd_wrk && crc_rd_wrk->crtc) {
^^^^^^^^^^
This code assumes that "crc_rd_wrk" can be NULL
9a65df19310859 Wayne Lin 2021-03-02 2701 old_crtc = crc_rd_wrk->crtc;
9a65df19310859 Wayne Lin 2021-03-02 2702 old_acrtc = to_amdgpu_crtc(old_crtc);
9a65df19310859 Wayne Lin 2021-03-02 2703 flush_work(&adev->dm.crc_rd_wrk->notify_ta_work);
9a65df19310859 Wayne Lin 2021-03-02 2704 }
9a65df19310859 Wayne Lin 2021-03-02 2705
9a65df19310859 Wayne Lin 2021-03-02 2706 new_acrtc = to_amdgpu_crtc(new_crtc);
9a65df19310859 Wayne Lin 2021-03-02 2707
9a65df19310859 Wayne Lin 2021-03-02 2708 if (old_crtc && old_crtc != new_crtc) {
9a65df19310859 Wayne Lin 2021-03-02 2709 old_acrtc->dm_irq_params.crc_window.activated = false;
9a65df19310859 Wayne Lin 2021-03-02 2710 old_acrtc->dm_irq_params.crc_window.update_win = false;
9a65df19310859 Wayne Lin 2021-03-02 2711 old_acrtc->dm_irq_params.crc_window.skip_frame_cnt = 0;
9a65df19310859 Wayne Lin 2021-03-02 2712
9a65df19310859 Wayne Lin 2021-03-02 2713 new_acrtc->dm_irq_params.crc_window.activated = true;
9a65df19310859 Wayne Lin 2021-03-02 2714 new_acrtc->dm_irq_params.crc_window.update_win = true;
9a65df19310859 Wayne Lin 2021-03-02 2715 new_acrtc->dm_irq_params.crc_window.skip_frame_cnt = 0;
9a65df19310859 Wayne Lin 2021-03-02 2716 crc_rd_wrk->crtc = new_crtc;
^^^^^^^^^^^^^^^^
9a65df19310859 Wayne Lin 2021-03-02 2717 } else {
9a65df19310859 Wayne Lin 2021-03-02 2718 new_acrtc->dm_irq_params.crc_window.activated = true;
9a65df19310859 Wayne Lin 2021-03-02 2719 new_acrtc->dm_irq_params.crc_window.update_win = true;
9a65df19310859 Wayne Lin 2021-03-02 2720 new_acrtc->dm_irq_params.crc_window.skip_frame_cnt = 0;
9a65df19310859 Wayne Lin 2021-03-02 @2721 crc_rd_wrk->crtc = new_crtc;
^^^^^^^^^^^^^^^^
But the rest of the function assumes it cannot.
9a65df19310859 Wayne Lin 2021-03-02 2722 }
9a65df19310859 Wayne Lin 2021-03-02 2723 spin_unlock_irq(&adev_to_drm(adev)->event_lock);
9a65df19310859 Wayne Lin 2021-03-02 2724 spin_unlock_irq(&crc_rd_wrk->crc_rd_work_lock);
86bc221918925a Wayne Lin 2021-03-02 2725 }
86bc221918925a Wayne Lin 2021-03-02 2726
86bc221918925a Wayne Lin 2021-03-02 2727 return 0;
86bc221918925a Wayne Lin 2021-03-02 2728 }
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
10 months
Re: [RFC PATCH v4 net-next 04/23] net: dsa: ocelot: felix: switch to mdio-mscc-miim driver for indirect mdio access
by Dan Carpenter
Hi Colin,
url: https://github.com/0day-ci/linux/commits/Colin-Foster/add-support-for-VSC...
base: https://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git 3ad4b7c81a992463c29ae130332c217607fe4452
config: arm-randconfig-m031-20211116 (attached as .config)
compiler: arm-linux-gnueabi-gcc (GCC) 11.2.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
Reported-by: Dan Carpenter <dan.carpenter(a)oracle.com>
smatch warnings:
drivers/net/mdio/mdio-mscc-miim.c:235 mscc_miim_probe() error: potentially dereferencing uninitialized 'dev'.
drivers/net/mdio/mdio-mscc-miim.c:244 mscc_miim_probe() warn: passing zero to 'PTR_ERR'
vim +/dev +235 drivers/net/mdio/mdio-mscc-miim.c
5f5682772ede09 drivers/net/mdio/mdio-mscc-miim.c Colin Foster 2021-11-15 212 static int mscc_miim_probe(struct platform_device *pdev)
5f5682772ede09 drivers/net/mdio/mdio-mscc-miim.c Colin Foster 2021-11-15 213 {
5f5682772ede09 drivers/net/mdio/mdio-mscc-miim.c Colin Foster 2021-11-15 214 struct regmap *mii_regmap, *phy_regmap;
5f5682772ede09 drivers/net/mdio/mdio-mscc-miim.c Colin Foster 2021-11-15 215 void __iomem *regs, *phy_regs;
5f5682772ede09 drivers/net/mdio/mdio-mscc-miim.c Colin Foster 2021-11-15 216 struct mscc_miim_dev *dev;
5f5682772ede09 drivers/net/mdio/mdio-mscc-miim.c Colin Foster 2021-11-15 217 struct mii_bus *bus;
5f5682772ede09 drivers/net/mdio/mdio-mscc-miim.c Colin Foster 2021-11-15 218 int ret;
542671fe4d86ad drivers/net/phy/mdio-mscc-miim.c Alexandre Belloni 2018-05-14 219
5f5682772ede09 drivers/net/mdio/mdio-mscc-miim.c Colin Foster 2021-11-15 220 regs = devm_platform_get_and_ioremap_resource(pdev, 0, NULL);
5f5682772ede09 drivers/net/mdio/mdio-mscc-miim.c Colin Foster 2021-11-15 221 if (IS_ERR(regs)) {
542671fe4d86ad drivers/net/phy/mdio-mscc-miim.c Alexandre Belloni 2018-05-14 222 dev_err(&pdev->dev, "Unable to map MIIM registers\n");
5f5682772ede09 drivers/net/mdio/mdio-mscc-miim.c Colin Foster 2021-11-15 223 return PTR_ERR(regs);
542671fe4d86ad drivers/net/phy/mdio-mscc-miim.c Alexandre Belloni 2018-05-14 224 }
542671fe4d86ad drivers/net/phy/mdio-mscc-miim.c Alexandre Belloni 2018-05-14 225
5f5682772ede09 drivers/net/mdio/mdio-mscc-miim.c Colin Foster 2021-11-15 226 mii_regmap = devm_regmap_init_mmio(&pdev->dev, regs,
5f5682772ede09 drivers/net/mdio/mdio-mscc-miim.c Colin Foster 2021-11-15 227 &mscc_miim_regmap_config);
5f5682772ede09 drivers/net/mdio/mdio-mscc-miim.c Colin Foster 2021-11-15 228
5f5682772ede09 drivers/net/mdio/mdio-mscc-miim.c Colin Foster 2021-11-15 229 if (IS_ERR(mii_regmap)) {
5f5682772ede09 drivers/net/mdio/mdio-mscc-miim.c Colin Foster 2021-11-15 230 dev_err(&pdev->dev, "Unable to create MIIM regmap\n");
5f5682772ede09 drivers/net/mdio/mdio-mscc-miim.c Colin Foster 2021-11-15 231 return PTR_ERR(mii_regmap);
5f5682772ede09 drivers/net/mdio/mdio-mscc-miim.c Colin Foster 2021-11-15 232 }
5f5682772ede09 drivers/net/mdio/mdio-mscc-miim.c Colin Foster 2021-11-15 233
5f5682772ede09 drivers/net/mdio/mdio-mscc-miim.c Colin Foster 2021-11-15 234 phy_regs = devm_platform_ioremap_resource(pdev, 1);
542671fe4d86ad drivers/net/phy/mdio-mscc-miim.c Alexandre Belloni 2018-05-14 @235 if (IS_ERR(dev->phy_regs)) {
^^^
"dev" is never initialized.
542671fe4d86ad drivers/net/phy/mdio-mscc-miim.c Alexandre Belloni 2018-05-14 236 dev_err(&pdev->dev, "Unable to map internal phy registers\n");
542671fe4d86ad drivers/net/phy/mdio-mscc-miim.c Alexandre Belloni 2018-05-14 237 return PTR_ERR(dev->phy_regs);
542671fe4d86ad drivers/net/phy/mdio-mscc-miim.c Alexandre Belloni 2018-05-14 238 }
5f5682772ede09 drivers/net/mdio/mdio-mscc-miim.c Colin Foster 2021-11-15 239
5f5682772ede09 drivers/net/mdio/mdio-mscc-miim.c Colin Foster 2021-11-15 240 phy_regmap = devm_regmap_init_mmio(&pdev->dev, phy_regs,
5f5682772ede09 drivers/net/mdio/mdio-mscc-miim.c Colin Foster 2021-11-15 241 &mscc_miim_regmap_config);
5f5682772ede09 drivers/net/mdio/mdio-mscc-miim.c Colin Foster 2021-11-15 242 if (IS_ERR(phy_regmap)) {
5f5682772ede09 drivers/net/mdio/mdio-mscc-miim.c Colin Foster 2021-11-15 243 dev_err(&pdev->dev, "Unable to create phy register regmap\n");
5f5682772ede09 drivers/net/mdio/mdio-mscc-miim.c Colin Foster 2021-11-15 @244 return PTR_ERR(dev->phy_regs);
^^^^^^^^^^^^^
Cut and paste error. "phy_regmap" intended.
c6995117b60ef3 drivers/net/mdio/mdio-mscc-miim.c Horatiu Vultur 2021-09-28 245 }
542671fe4d86ad drivers/net/phy/mdio-mscc-miim.c Alexandre Belloni 2018-05-14 246
3844fce844e141 drivers/net/mdio/mdio-mscc-miim.c Colin Foster 2021-11-15 247 mscc_miim_setup(&pdev->dev, &bus, mii_regmap, 0, phy_regmap, 0);
5f5682772ede09 drivers/net/mdio/mdio-mscc-miim.c Colin Foster 2021-11-15 248
542671fe4d86ad drivers/net/phy/mdio-mscc-miim.c Alexandre Belloni 2018-05-14 249 ret = of_mdiobus_register(bus, pdev->dev.of_node);
542671fe4d86ad drivers/net/phy/mdio-mscc-miim.c Alexandre Belloni 2018-05-14 250 if (ret < 0) {
542671fe4d86ad drivers/net/phy/mdio-mscc-miim.c Alexandre Belloni 2018-05-14 251 dev_err(&pdev->dev, "Cannot register MDIO bus (%d)\n", ret);
542671fe4d86ad drivers/net/phy/mdio-mscc-miim.c Alexandre Belloni 2018-05-14 252 return ret;
542671fe4d86ad drivers/net/phy/mdio-mscc-miim.c Alexandre Belloni 2018-05-14 253 }
542671fe4d86ad drivers/net/phy/mdio-mscc-miim.c Alexandre Belloni 2018-05-14 254
542671fe4d86ad drivers/net/phy/mdio-mscc-miim.c Alexandre Belloni 2018-05-14 255 platform_set_drvdata(pdev, bus);
542671fe4d86ad drivers/net/phy/mdio-mscc-miim.c Alexandre Belloni 2018-05-14 256
542671fe4d86ad drivers/net/phy/mdio-mscc-miim.c Alexandre Belloni 2018-05-14 257 return 0;
542671fe4d86ad drivers/net/phy/mdio-mscc-miim.c Alexandre Belloni 2018-05-14 258 }
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
10 months
[sashal-stable:pending-5.4 46/75] kernel/trace/trace_events_hist.c:3535:11: warning: comparison of distinct pointer types ('typeof (val->size) *' (aka 'unsigned int *') and 'typeof (32) *' (aka 'int *'))
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git pending-5.4
head: 2f06062940cf83ed6c2aeeb9e0c5138f08b486a9
commit: 3f22c9fce5f5817075f812f37fcffbefce477a69 [46/75] tracing: Add length protection to histogram string copies
config: x86_64-randconfig-a001-20211122 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project c133fb321f7ca6083ce15b6aa5bf89de6600e649)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git/c...
git remote add sashal-stable https://git.kernel.org/pub/scm/linux/kernel/git/sashal/linux-stable.git
git fetch --no-tags sashal-stable pending-5.4
git checkout 3f22c9fce5f5817075f812f37fcffbefce477a69
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
>> kernel/trace/trace_events_hist.c:3535:11: warning: comparison of distinct pointer types ('typeof (val->size) *' (aka 'unsigned int *') and 'typeof (32) *' (aka 'int *')) [-Wcompare-distinct-pointer-types]
size = min(val->size, STR_VAR_LEN_MAX);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/kernel.h:875:19: note: expanded from macro 'min'
#define min(x, y) __careful_cmp(x, y, <)
^~~~~~~~~~~~~~~~~~~~~~
include/linux/kernel.h:866:24: note: expanded from macro '__careful_cmp'
__builtin_choose_expr(__safe_cmp(x, y), \
^~~~~~~~~~~~~~~~
include/linux/kernel.h:856:4: note: expanded from macro '__safe_cmp'
(__typecheck(x, y) && __no_side_effects(x, y))
^~~~~~~~~~~~~~~~~
include/linux/kernel.h:842:29: note: expanded from macro '__typecheck'
(!!(sizeof((typeof(x) *)1 == (typeof(y) *)1)))
~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~
>> kernel/trace/trace_events_hist.c:5367:12: warning: comparison of distinct pointer types ('typeof (hist_field->size) *' (aka 'unsigned int *') and 'typeof (32) *' (aka 'int *')) [-Wcompare-distinct-pointer-types]
size = min(hist_field->size, STR_VAR_LEN_MAX);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/kernel.h:875:19: note: expanded from macro 'min'
#define min(x, y) __careful_cmp(x, y, <)
^~~~~~~~~~~~~~~~~~~~~~
include/linux/kernel.h:866:24: note: expanded from macro '__careful_cmp'
__builtin_choose_expr(__safe_cmp(x, y), \
^~~~~~~~~~~~~~~~
include/linux/kernel.h:856:4: note: expanded from macro '__safe_cmp'
(__typecheck(x, y) && __no_side_effects(x, y))
^~~~~~~~~~~~~~~~~
include/linux/kernel.h:842:29: note: expanded from macro '__typecheck'
(!!(sizeof((typeof(x) *)1 == (typeof(y) *)1)))
~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~
kernel/trace/trace_events_hist.c:5861:6: warning: variable 'ret' set but not used [-Wunused-but-set-variable]
int ret;
^
3 warnings generated.
vim +3535 kernel/trace/trace_events_hist.c
3510
3511 static inline void __update_field_vars(struct tracing_map_elt *elt,
3512 struct ring_buffer_event *rbe,
3513 void *rec,
3514 struct field_var **field_vars,
3515 unsigned int n_field_vars,
3516 unsigned int field_var_str_start)
3517 {
3518 struct hist_elt_data *elt_data = elt->private_data;
3519 unsigned int i, j, var_idx;
3520 u64 var_val;
3521
3522 for (i = 0, j = field_var_str_start; i < n_field_vars; i++) {
3523 struct field_var *field_var = field_vars[i];
3524 struct hist_field *var = field_var->var;
3525 struct hist_field *val = field_var->val;
3526
3527 var_val = val->fn(val, elt, rbe, rec);
3528 var_idx = var->var.idx;
3529
3530 if (val->flags & HIST_FIELD_FL_STRING) {
3531 char *str = elt_data->field_var_str[j++];
3532 char *val_str = (char *)(uintptr_t)var_val;
3533 unsigned int size;
3534
> 3535 size = min(val->size, STR_VAR_LEN_MAX);
3536 strscpy(str, val_str, size);
3537 var_val = (u64)(uintptr_t)str;
3538 }
3539 tracing_map_set_var(elt, var_idx, var_val);
3540 }
3541 }
3542
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
10 months
[linux-next:master 1524/2290] drivers/net/ethernet/cadence/macb_main.c:540 macb_validate() error: uninitialized symbol 'have_1g'.
by Dan Carpenter
tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head: 5191249f880367a4cd675825cd721a8d78f26a45
commit: 3ad4b7c81a992463c29ae130332c217607fe4452 [1524/2290] net: macb: Fix several edge cases in validate
config: arm-randconfig-m031-20211116 (attached as .config)
compiler: arm-linux-gnueabi-gcc (GCC) 11.2.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
Reported-by: Dan Carpenter <dan.carpenter(a)oracle.com>
New smatch warnings:
drivers/net/ethernet/cadence/macb_main.c:540 macb_validate() error: uninitialized symbol 'have_1g'.
drivers/net/ethernet/cadence/macb_main.c:546 macb_validate() error: uninitialized symbol 'have_sgmii'.
drivers/net/ethernet/cadence/macb_main.c:552 macb_validate() error: uninitialized symbol 'have_10g'.
Old smatch warnings:
drivers/net/ethernet/cadence/macb_main.c:569 macb_validate() error: uninitialized symbol 'have_10g'.
drivers/net/ethernet/cadence/macb_main.c:579 macb_validate() error: uninitialized symbol 'have_sgmii'.
drivers/net/ethernet/cadence/macb_main.c:588 macb_validate() error: uninitialized symbol 'have_1g'.
vim +/have_1g +540 drivers/net/ethernet/cadence/macb_main.c
7897b071ac3b45a drivers/net/ethernet/cadence/macb_main.c Antoine Tenart 2019-11-13 509 static void macb_validate(struct phylink_config *config,
7897b071ac3b45a drivers/net/ethernet/cadence/macb_main.c Antoine Tenart 2019-11-13 510 unsigned long *supported,
7897b071ac3b45a drivers/net/ethernet/cadence/macb_main.c Antoine Tenart 2019-11-13 511 struct phylink_link_state *state)
6c36a7074436e18 drivers/net/macb.c frederic RODO 2007-07-12 512 {
7897b071ac3b45a drivers/net/ethernet/cadence/macb_main.c Antoine Tenart 2019-11-13 513 struct net_device *ndev = to_net_dev(config->dev);
7897b071ac3b45a drivers/net/ethernet/cadence/macb_main.c Antoine Tenart 2019-11-13 514 __ETHTOOL_DECLARE_LINK_MODE_MASK(mask) = { 0, };
7897b071ac3b45a drivers/net/ethernet/cadence/macb_main.c Antoine Tenart 2019-11-13 515 struct macb *bp = netdev_priv(ndev);
3ad4b7c81a99246 drivers/net/ethernet/cadence/macb_main.c Sean Anderson 2021-11-12 516 bool have_1g, have_sgmii, have_10g;
3ad4b7c81a99246 drivers/net/ethernet/cadence/macb_main.c Sean Anderson 2021-11-12 517
3ad4b7c81a99246 drivers/net/ethernet/cadence/macb_main.c Sean Anderson 2021-11-12 518 /* Determine what modes are supported */
3ad4b7c81a99246 drivers/net/ethernet/cadence/macb_main.c Sean Anderson 2021-11-12 519 if (macb_is_gem(bp) &&
3ad4b7c81a99246 drivers/net/ethernet/cadence/macb_main.c Sean Anderson 2021-11-12 520 (bp->caps & MACB_CAPS_GIGABIT_MODE_AVAILABLE)) {
3ad4b7c81a99246 drivers/net/ethernet/cadence/macb_main.c Sean Anderson 2021-11-12 521 have_1g = true;
have_1g is set to true, but it's never set to false. Same for other
warnings.
3ad4b7c81a99246 drivers/net/ethernet/cadence/macb_main.c Sean Anderson 2021-11-12 522 if (bp->caps & MACB_CAPS_PCS)
3ad4b7c81a99246 drivers/net/ethernet/cadence/macb_main.c Sean Anderson 2021-11-12 523 have_sgmii = true;
3ad4b7c81a99246 drivers/net/ethernet/cadence/macb_main.c Sean Anderson 2021-11-12 524 if (bp->caps & MACB_CAPS_HIGH_SPEED)
3ad4b7c81a99246 drivers/net/ethernet/cadence/macb_main.c Sean Anderson 2021-11-12 525 have_10g = true;
3ad4b7c81a99246 drivers/net/ethernet/cadence/macb_main.c Sean Anderson 2021-11-12 526 }
3ad4b7c81a99246 drivers/net/ethernet/cadence/macb_main.c Sean Anderson 2021-11-12 527
3ad4b7c81a99246 drivers/net/ethernet/cadence/macb_main.c Sean Anderson 2021-11-12 528 /* Eliminate unsupported modes */
3ad4b7c81a99246 drivers/net/ethernet/cadence/macb_main.c Sean Anderson 2021-11-12 529 switch (state->interface) {
3ad4b7c81a99246 drivers/net/ethernet/cadence/macb_main.c Sean Anderson 2021-11-12 530 case PHY_INTERFACE_MODE_NA:
3ad4b7c81a99246 drivers/net/ethernet/cadence/macb_main.c Sean Anderson 2021-11-12 531 case PHY_INTERFACE_MODE_MII:
3ad4b7c81a99246 drivers/net/ethernet/cadence/macb_main.c Sean Anderson 2021-11-12 532 case PHY_INTERFACE_MODE_RMII:
3ad4b7c81a99246 drivers/net/ethernet/cadence/macb_main.c Sean Anderson 2021-11-12 533 break;
7897b071ac3b45a drivers/net/ethernet/cadence/macb_main.c Antoine Tenart 2019-11-13 534
3ad4b7c81a99246 drivers/net/ethernet/cadence/macb_main.c Sean Anderson 2021-11-12 535 case PHY_INTERFACE_MODE_GMII:
3ad4b7c81a99246 drivers/net/ethernet/cadence/macb_main.c Sean Anderson 2021-11-12 536 case PHY_INTERFACE_MODE_RGMII:
3ad4b7c81a99246 drivers/net/ethernet/cadence/macb_main.c Sean Anderson 2021-11-12 537 case PHY_INTERFACE_MODE_RGMII_ID:
3ad4b7c81a99246 drivers/net/ethernet/cadence/macb_main.c Sean Anderson 2021-11-12 538 case PHY_INTERFACE_MODE_RGMII_RXID:
3ad4b7c81a99246 drivers/net/ethernet/cadence/macb_main.c Sean Anderson 2021-11-12 539 case PHY_INTERFACE_MODE_RGMII_TXID:
3ad4b7c81a99246 drivers/net/ethernet/cadence/macb_main.c Sean Anderson 2021-11-12 @540 if (have_1g)
3ad4b7c81a99246 drivers/net/ethernet/cadence/macb_main.c Sean Anderson 2021-11-12 541 break;
4973056cceacc70 drivers/net/ethernet/cadence/macb_main.c Sean Anderson 2021-10-22 542 linkmode_zero(supported);
7897b071ac3b45a drivers/net/ethernet/cadence/macb_main.c Antoine Tenart 2019-11-13 543 return;
89e5785fc8a6b9e drivers/net/macb.c Haavard Skinnemoen 2006-11-09 544
3ad4b7c81a99246 drivers/net/ethernet/cadence/macb_main.c Sean Anderson 2021-11-12 545 case PHY_INTERFACE_MODE_SGMII:
3ad4b7c81a99246 drivers/net/ethernet/cadence/macb_main.c Sean Anderson 2021-11-12 @546 if (have_sgmii)
3ad4b7c81a99246 drivers/net/ethernet/cadence/macb_main.c Sean Anderson 2021-11-12 547 break;
4973056cceacc70 drivers/net/ethernet/cadence/macb_main.c Sean Anderson 2021-10-22 548 linkmode_zero(supported);
7897b071ac3b45a drivers/net/ethernet/cadence/macb_main.c Antoine Tenart 2019-11-13 549 return;
89e5785fc8a6b9e drivers/net/macb.c Haavard Skinnemoen 2006-11-09 550
3ad4b7c81a99246 drivers/net/ethernet/cadence/macb_main.c Sean Anderson 2021-11-12 551 case PHY_INTERFACE_MODE_10GBASER:
3ad4b7c81a99246 drivers/net/ethernet/cadence/macb_main.c Sean Anderson 2021-11-12 @552 if (have_10g)
3ad4b7c81a99246 drivers/net/ethernet/cadence/macb_main.c Sean Anderson 2021-11-12 553 break;
3ad4b7c81a99246 drivers/net/ethernet/cadence/macb_main.c Sean Anderson 2021-11-12 554 fallthrough;
3ad4b7c81a99246 drivers/net/ethernet/cadence/macb_main.c Sean Anderson 2021-11-12 555
3ad4b7c81a99246 drivers/net/ethernet/cadence/macb_main.c Sean Anderson 2021-11-12 556 default:
4973056cceacc70 drivers/net/ethernet/cadence/macb_main.c Sean Anderson 2021-10-22 557 linkmode_zero(supported);
e4e143e26ce8f5f drivers/net/ethernet/cadence/macb_main.c Parshuram Thombare 2020-10-29 558 return;
e4e143e26ce8f5f drivers/net/ethernet/cadence/macb_main.c Parshuram Thombare 2020-10-29 559 }
e4e143e26ce8f5f drivers/net/ethernet/cadence/macb_main.c Parshuram Thombare 2020-10-29 560
7897b071ac3b45a drivers/net/ethernet/cadence/macb_main.c Antoine Tenart 2019-11-13 561 phylink_set_port_modes(mask);
7897b071ac3b45a drivers/net/ethernet/cadence/macb_main.c Antoine Tenart 2019-11-13 562 phylink_set(mask, Autoneg);
7897b071ac3b45a drivers/net/ethernet/cadence/macb_main.c Antoine Tenart 2019-11-13 563 phylink_set(mask, Asym_Pause);
6c36a7074436e18 drivers/net/macb.c frederic RODO 2007-07-12 564
3ad4b7c81a99246 drivers/net/ethernet/cadence/macb_main.c Sean Anderson 2021-11-12 565 /* And set the appropriate mask */
3ad4b7c81a99246 drivers/net/ethernet/cadence/macb_main.c Sean Anderson 2021-11-12 566 switch (state->interface) {
3ad4b7c81a99246 drivers/net/ethernet/cadence/macb_main.c Sean Anderson 2021-11-12 567 case PHY_INTERFACE_MODE_NA:
3ad4b7c81a99246 drivers/net/ethernet/cadence/macb_main.c Sean Anderson 2021-11-12 568 case PHY_INTERFACE_MODE_10GBASER:
3ad4b7c81a99246 drivers/net/ethernet/cadence/macb_main.c Sean Anderson 2021-11-12 569 if (have_10g) {
14ad41c74f6be0b drivers/net/ethernet/cadence/macb_main.c Russell King (Oracle 2021-10-04 570) phylink_set_10g_modes(mask);
e4e143e26ce8f5f drivers/net/ethernet/cadence/macb_main.c Parshuram Thombare 2020-10-29 571 phylink_set(mask, 10000baseKR_Full);
e4e143e26ce8f5f drivers/net/ethernet/cadence/macb_main.c Parshuram Thombare 2020-10-29 572 }
3ad4b7c81a99246 drivers/net/ethernet/cadence/macb_main.c Sean Anderson 2021-11-12 573 if (state->interface != PHY_INTERFACE_MODE_NA)
3ad4b7c81a99246 drivers/net/ethernet/cadence/macb_main.c Sean Anderson 2021-11-12 574 break;
3ad4b7c81a99246 drivers/net/ethernet/cadence/macb_main.c Sean Anderson 2021-11-12 575 fallthrough;
e4e143e26ce8f5f drivers/net/ethernet/cadence/macb_main.c Parshuram Thombare 2020-10-29 576
3ad4b7c81a99246 drivers/net/ethernet/cadence/macb_main.c Sean Anderson 2021-11-12 577 /* FIXME: Do we actually support 10/100 for SGMII? Half duplex? */
3ad4b7c81a99246 drivers/net/ethernet/cadence/macb_main.c Sean Anderson 2021-11-12 578 case PHY_INTERFACE_MODE_SGMII:
3ad4b7c81a99246 drivers/net/ethernet/cadence/macb_main.c Sean Anderson 2021-11-12 579 if (!have_sgmii && state->interface != PHY_INTERFACE_MODE_NA)
3ad4b7c81a99246 drivers/net/ethernet/cadence/macb_main.c Sean Anderson 2021-11-12 580 break;
3ad4b7c81a99246 drivers/net/ethernet/cadence/macb_main.c Sean Anderson 2021-11-12 581 fallthrough;
3ad4b7c81a99246 drivers/net/ethernet/cadence/macb_main.c Sean Anderson 2021-11-12 582
3ad4b7c81a99246 drivers/net/ethernet/cadence/macb_main.c Sean Anderson 2021-11-12 583 case PHY_INTERFACE_MODE_GMII:
3ad4b7c81a99246 drivers/net/ethernet/cadence/macb_main.c Sean Anderson 2021-11-12 584 case PHY_INTERFACE_MODE_RGMII:
3ad4b7c81a99246 drivers/net/ethernet/cadence/macb_main.c Sean Anderson 2021-11-12 585 case PHY_INTERFACE_MODE_RGMII_ID:
3ad4b7c81a99246 drivers/net/ethernet/cadence/macb_main.c Sean Anderson 2021-11-12 586 case PHY_INTERFACE_MODE_RGMII_RXID:
3ad4b7c81a99246 drivers/net/ethernet/cadence/macb_main.c Sean Anderson 2021-11-12 587 case PHY_INTERFACE_MODE_RGMII_TXID:
3ad4b7c81a99246 drivers/net/ethernet/cadence/macb_main.c Sean Anderson 2021-11-12 588 if (have_1g) {
7897b071ac3b45a drivers/net/ethernet/cadence/macb_main.c Antoine Tenart 2019-11-13 589 phylink_set(mask, 1000baseT_Full);
7897b071ac3b45a drivers/net/ethernet/cadence/macb_main.c Antoine Tenart 2019-11-13 590 phylink_set(mask, 1000baseX_Full);
6c36a7074436e18 drivers/net/macb.c frederic RODO 2007-07-12 591
7897b071ac3b45a drivers/net/ethernet/cadence/macb_main.c Antoine Tenart 2019-11-13 592 if (!(bp->caps & MACB_CAPS_NO_GIGABIT_HALF))
7897b071ac3b45a drivers/net/ethernet/cadence/macb_main.c Antoine Tenart 2019-11-13 593 phylink_set(mask, 1000baseT_Half);
3ad4b7c81a99246 drivers/net/ethernet/cadence/macb_main.c Sean Anderson 2021-11-12 594 } else if (state->interface != PHY_INTERFACE_MODE_NA) {
3ad4b7c81a99246 drivers/net/ethernet/cadence/macb_main.c Sean Anderson 2021-11-12 595 break;
6c36a7074436e18 drivers/net/macb.c frederic RODO 2007-07-12 596 }
3ad4b7c81a99246 drivers/net/ethernet/cadence/macb_main.c Sean Anderson 2021-11-12 597 fallthrough;
3ad4b7c81a99246 drivers/net/ethernet/cadence/macb_main.c Sean Anderson 2021-11-12 598
3ad4b7c81a99246 drivers/net/ethernet/cadence/macb_main.c Sean Anderson 2021-11-12 599 default:
3ad4b7c81a99246 drivers/net/ethernet/cadence/macb_main.c Sean Anderson 2021-11-12 600 phylink_set(mask, 10baseT_Half);
3ad4b7c81a99246 drivers/net/ethernet/cadence/macb_main.c Sean Anderson 2021-11-12 601 phylink_set(mask, 10baseT_Full);
3ad4b7c81a99246 drivers/net/ethernet/cadence/macb_main.c Sean Anderson 2021-11-12 602 phylink_set(mask, 100baseT_Half);
3ad4b7c81a99246 drivers/net/ethernet/cadence/macb_main.c Sean Anderson 2021-11-12 603 phylink_set(mask, 100baseT_Full);
3ad4b7c81a99246 drivers/net/ethernet/cadence/macb_main.c Sean Anderson 2021-11-12 604 break;
3ad4b7c81a99246 drivers/net/ethernet/cadence/macb_main.c Sean Anderson 2021-11-12 605 }
3ad4b7c81a99246 drivers/net/ethernet/cadence/macb_main.c Sean Anderson 2021-11-12 606
4973056cceacc70 drivers/net/ethernet/cadence/macb_main.c Sean Anderson 2021-10-22 607 linkmode_and(supported, supported, mask);
4973056cceacc70 drivers/net/ethernet/cadence/macb_main.c Sean Anderson 2021-10-22 608 linkmode_and(state->advertising, state->advertising, mask);
89e5785fc8a6b9e drivers/net/macb.c Haavard Skinnemoen 2006-11-09 609 }
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
10 months
denali_dt.c:undefined reference to `devm_platform_ioremap_resource_byname'
by kernel test robot
Hi Cai,
FYI, the error/warning still remains.
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: a90af8f15bdc9449ee2d24e1d73fa3f7e8633f81
commit: 5f14a8ca1b493a3c633ff549fb7d494887d7804a mtd: rawnand: denali: Make use of the helper function devm_platform_ioremap_resource_byname()
date: 10 weeks ago
config: s390-buildonly-randconfig-r002-20211120 (attached as .config)
compiler: s390-linux-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit...
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout 5f14a8ca1b493a3c633ff549fb7d494887d7804a
# save the attached .config to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=s390 SHELL=/bin/bash
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
s390-linux-ld: drivers/irqchip/irq-al-fic.o: in function `al_fic_init_dt':
irq-al-fic.c:(.init.text+0x46): undefined reference to `of_iomap'
s390-linux-ld: irq-al-fic.c:(.init.text+0x3cc): undefined reference to `iounmap'
s390-linux-ld: drivers/char/xillybus/xillybus_of.o: in function `xilly_drv_probe':
xillybus_of.c:(.text+0x304): undefined reference to `devm_platform_ioremap_resource'
s390-linux-ld: drivers/mtd/nand/raw/denali_dt.o: in function `denali_dt_probe':
>> denali_dt.c:(.text+0x166): undefined reference to `devm_platform_ioremap_resource_byname'
>> s390-linux-ld: denali_dt.c:(.text+0x194): undefined reference to `devm_platform_ioremap_resource_byname'
s390-linux-ld: drivers/clocksource/timer-of.o: in function `timer_of_init':
timer-of.c:(.init.text+0xd6): undefined reference to `of_iomap'
s390-linux-ld: timer-of.c:(.init.text+0x4e4): undefined reference to `iounmap'
s390-linux-ld: drivers/clocksource/timer-of.o: in function `timer_of_cleanup':
timer-of.c:(.init.text+0x5f8): undefined reference to `iounmap'
s390-linux-ld: drivers/clocksource/timer-microchip-pit64b.o: in function `mchp_pit64b_dt_init_timer':
timer-microchip-pit64b.c:(.init.text+0x118): undefined reference to `of_iomap'
s390-linux-ld: timer-microchip-pit64b.c:(.init.text+0x6f4): undefined reference to `iounmap'
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
10 months