CC: [email protected] CC: [email protected] TO: Russell King <[email protected]>
tree: git://git.armlinux.org.uk/~rmk/linux-arm.git clearfog head: 31ca7cd503d73e8da285382d31b7be1c7a7da479 commit: 79d4556027c96d9cb569bf50ae889fd148344999 [2/13] net: dsa: mv88e6xxx: debugfs hacks to fix the compile :::::: branch date: 8 hours ago :::::: commit date: 6 weeks ago config: x86_64-randconfig-m001-20211214 (https://download.01.org/0day-ci/archive/20211215/[email protected]/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 <[email protected]> Reported-by: Dan Carpenter <[email protected]> New smatch warnings: drivers/net/dsa/mv88e6xxx/mv88e6xxx_debugfs.c:441 mv88e6xxx_default_vid_show() error: uninitialized symbol 'err'. drivers/net/dsa/mv88e6xxx/mv88e6xxx_debugfs.c:505 mv88e6xxx_fid_show() error: uninitialized symbol 'err'. drivers/net/dsa/mv88e6xxx/mv88e6xxx_debugfs.c:555 mv88e6xxx_state_show() error: uninitialized symbol 'ret'. drivers/net/dsa/mv88e6xxx/mv88e6xxx_debugfs.c:605 mv88e6xxx_8021q_mode_show() error: uninitialized symbol 'ret'. Old smatch warnings: drivers/net/dsa/mv88e6xxx/chip.c:2747 mv88e6xxx_serdes_irq_request() warn: 'irq' not released on lines: 2747. vim +/err +441 drivers/net/dsa/mv88e6xxx/mv88e6xxx_debugfs.c fe8a2a1725d821b Vivien Didelot 2015-10-22 420 fe8a2a1725d821b Vivien Didelot 2015-10-22 421 static int mv88e6xxx_default_vid_show(struct seq_file *s, void *p) fe8a2a1725d821b Vivien Didelot 2015-10-22 422 { fe8a2a1725d821b Vivien Didelot 2015-10-22 423 struct mv88e6xxx_chip *chip = s->private; fe8a2a1725d821b Vivien Didelot 2015-10-22 424 u16 pvid; fe8a2a1725d821b Vivien Didelot 2015-10-22 425 int i, err; fe8a2a1725d821b Vivien Didelot 2015-10-22 426 fe8a2a1725d821b Vivien Didelot 2015-10-22 427 seq_puts(s, " Port DefaultVID\n"); fe8a2a1725d821b Vivien Didelot 2015-10-22 428 fe8a2a1725d821b Vivien Didelot 2015-10-22 429 mutex_lock(&chip->reg_lock); fe8a2a1725d821b Vivien Didelot 2015-10-22 430 fe8a2a1725d821b Vivien Didelot 2015-10-22 431 for (i = 0; i < mv88e6xxx_num_ports(chip); ++i) { fe8a2a1725d821b Vivien Didelot 2015-10-22 432 err = mv88e6xxx_port_get_pvid(chip, i, &pvid); fe8a2a1725d821b Vivien Didelot 2015-10-22 433 if (err) fe8a2a1725d821b Vivien Didelot 2015-10-22 434 break; fe8a2a1725d821b Vivien Didelot 2015-10-22 435 fe8a2a1725d821b Vivien Didelot 2015-10-22 436 seq_printf(s, "%4d %d\n", i, pvid); fe8a2a1725d821b Vivien Didelot 2015-10-22 437 } fe8a2a1725d821b Vivien Didelot 2015-10-22 438 fe8a2a1725d821b Vivien Didelot 2015-10-22 439 mutex_unlock(&chip->reg_lock); fe8a2a1725d821b Vivien Didelot 2015-10-22 440 fe8a2a1725d821b Vivien Didelot 2015-10-22 @441 return err; fe8a2a1725d821b Vivien Didelot 2015-10-22 442 } fe8a2a1725d821b Vivien Didelot 2015-10-22 443 fe8a2a1725d821b Vivien Didelot 2015-10-22 444 static ssize_t mv88e6xxx_default_vid_write(struct file *file, fe8a2a1725d821b Vivien Didelot 2015-10-22 445 const char __user *buf, size_t count, fe8a2a1725d821b Vivien Didelot 2015-10-22 446 loff_t *ppos) fe8a2a1725d821b Vivien Didelot 2015-10-22 447 { fe8a2a1725d821b Vivien Didelot 2015-10-22 448 struct seq_file *s = file->private_data; fe8a2a1725d821b Vivien Didelot 2015-10-22 449 struct mv88e6xxx_chip *chip = s->private; fe8a2a1725d821b Vivien Didelot 2015-10-22 450 char cmd[32]; fe8a2a1725d821b Vivien Didelot 2015-10-22 451 unsigned int port, pvid; fe8a2a1725d821b Vivien Didelot 2015-10-22 452 int ret; fe8a2a1725d821b Vivien Didelot 2015-10-22 453 fe8a2a1725d821b Vivien Didelot 2015-10-22 454 if (copy_from_user(cmd, buf, sizeof(cmd))) fe8a2a1725d821b Vivien Didelot 2015-10-22 455 return -EFAULT; fe8a2a1725d821b Vivien Didelot 2015-10-22 456 fe8a2a1725d821b Vivien Didelot 2015-10-22 457 ret = sscanf(cmd, "%u %u", &port, &pvid); fe8a2a1725d821b Vivien Didelot 2015-10-22 458 if (ret != 2) fe8a2a1725d821b Vivien Didelot 2015-10-22 459 return -EINVAL; fe8a2a1725d821b Vivien Didelot 2015-10-22 460 fe8a2a1725d821b Vivien Didelot 2015-10-22 461 if (port >= mv88e6xxx_num_ports(chip) || pvid > 0xfff) fe8a2a1725d821b Vivien Didelot 2015-10-22 462 return -ERANGE; fe8a2a1725d821b Vivien Didelot 2015-10-22 463 fe8a2a1725d821b Vivien Didelot 2015-10-22 464 mutex_lock(&chip->reg_lock); fe8a2a1725d821b Vivien Didelot 2015-10-22 465 ret = mv88e6xxx_port_set_pvid(chip, port, pvid); fe8a2a1725d821b Vivien Didelot 2015-10-22 466 mutex_unlock(&chip->reg_lock); fe8a2a1725d821b Vivien Didelot 2015-10-22 467 fe8a2a1725d821b Vivien Didelot 2015-10-22 468 return ret < 0 ? ret : count; fe8a2a1725d821b Vivien Didelot 2015-10-22 469 } fe8a2a1725d821b Vivien Didelot 2015-10-22 470 fe8a2a1725d821b Vivien Didelot 2015-10-22 471 static int mv88e6xxx_default_vid_open(struct inode *inode, struct file *file) fe8a2a1725d821b Vivien Didelot 2015-10-22 472 { fe8a2a1725d821b Vivien Didelot 2015-10-22 473 return single_open(file, mv88e6xxx_default_vid_show, inode->i_private); fe8a2a1725d821b Vivien Didelot 2015-10-22 474 } fe8a2a1725d821b Vivien Didelot 2015-10-22 475 fe8a2a1725d821b Vivien Didelot 2015-10-22 476 static const struct file_operations mv88e6xxx_default_vid_fops = { fe8a2a1725d821b Vivien Didelot 2015-10-22 477 .open = mv88e6xxx_default_vid_open, fe8a2a1725d821b Vivien Didelot 2015-10-22 478 .read = seq_read, fe8a2a1725d821b Vivien Didelot 2015-10-22 479 .write = mv88e6xxx_default_vid_write, fe8a2a1725d821b Vivien Didelot 2015-10-22 480 .llseek = no_llseek, fe8a2a1725d821b Vivien Didelot 2015-10-22 481 .release = single_release, fe8a2a1725d821b Vivien Didelot 2015-10-22 482 .owner = THIS_MODULE, fe8a2a1725d821b Vivien Didelot 2015-10-22 483 }; fe8a2a1725d821b Vivien Didelot 2015-10-22 484 fe8a2a1725d821b Vivien Didelot 2015-10-22 485 static int mv88e6xxx_fid_show(struct seq_file *s, void *p) fe8a2a1725d821b Vivien Didelot 2015-10-22 486 { fe8a2a1725d821b Vivien Didelot 2015-10-22 487 struct mv88e6xxx_chip *chip = s->private; fe8a2a1725d821b Vivien Didelot 2015-10-22 488 u16 fid; fe8a2a1725d821b Vivien Didelot 2015-10-22 489 int i, err; fe8a2a1725d821b Vivien Didelot 2015-10-22 490 fe8a2a1725d821b Vivien Didelot 2015-10-22 491 seq_puts(s, " Port FID\n"); fe8a2a1725d821b Vivien Didelot 2015-10-22 492 fe8a2a1725d821b Vivien Didelot 2015-10-22 493 mutex_lock(&chip->reg_lock); fe8a2a1725d821b Vivien Didelot 2015-10-22 494 fe8a2a1725d821b Vivien Didelot 2015-10-22 495 for (i = 0; i < mv88e6xxx_num_ports(chip); ++i) { fe8a2a1725d821b Vivien Didelot 2015-10-22 496 err = mv88e6xxx_port_get_fid(chip, i, &fid); fe8a2a1725d821b Vivien Didelot 2015-10-22 497 if (err) fe8a2a1725d821b Vivien Didelot 2015-10-22 498 break; fe8a2a1725d821b Vivien Didelot 2015-10-22 499 fe8a2a1725d821b Vivien Didelot 2015-10-22 500 seq_printf(s, "%4d %d\n", i, fid); fe8a2a1725d821b Vivien Didelot 2015-10-22 501 } fe8a2a1725d821b Vivien Didelot 2015-10-22 502 fe8a2a1725d821b Vivien Didelot 2015-10-22 503 mutex_unlock(&chip->reg_lock); fe8a2a1725d821b Vivien Didelot 2015-10-22 504 fe8a2a1725d821b Vivien Didelot 2015-10-22 @505 return err; fe8a2a1725d821b Vivien Didelot 2015-10-22 506 } fe8a2a1725d821b Vivien Didelot 2015-10-22 507 fe8a2a1725d821b Vivien Didelot 2015-10-22 508 static int mv88e6xxx_fid_open(struct inode *inode, struct file *file) fe8a2a1725d821b Vivien Didelot 2015-10-22 509 { fe8a2a1725d821b Vivien Didelot 2015-10-22 510 return single_open(file, mv88e6xxx_fid_show, inode->i_private); fe8a2a1725d821b Vivien Didelot 2015-10-22 511 } fe8a2a1725d821b Vivien Didelot 2015-10-22 512 fe8a2a1725d821b Vivien Didelot 2015-10-22 513 static const struct file_operations mv88e6xxx_fid_fops = { fe8a2a1725d821b Vivien Didelot 2015-10-22 514 .open = mv88e6xxx_fid_open, fe8a2a1725d821b Vivien Didelot 2015-10-22 515 .read = seq_read, fe8a2a1725d821b Vivien Didelot 2015-10-22 516 .llseek = no_llseek, fe8a2a1725d821b Vivien Didelot 2015-10-22 517 .release = single_release, fe8a2a1725d821b Vivien Didelot 2015-10-22 518 .owner = THIS_MODULE, fe8a2a1725d821b Vivien Didelot 2015-10-22 519 }; fe8a2a1725d821b Vivien Didelot 2015-10-22 520 fe8a2a1725d821b Vivien Didelot 2015-10-22 521 static const char * const mv88e6xxx_port_state_names[] = { fe8a2a1725d821b Vivien Didelot 2015-10-22 522 [MV88E6XXX_PORT_CTL0_STATE_DISABLED] = "Disabled", fe8a2a1725d821b Vivien Didelot 2015-10-22 523 [MV88E6XXX_PORT_CTL0_STATE_BLOCKING] = "Blocking/Listening", fe8a2a1725d821b Vivien Didelot 2015-10-22 524 [MV88E6XXX_PORT_CTL0_STATE_LEARNING] = "Learning", fe8a2a1725d821b Vivien Didelot 2015-10-22 525 [MV88E6XXX_PORT_CTL0_STATE_FORWARDING] = "Forwarding", fe8a2a1725d821b Vivien Didelot 2015-10-22 526 }; fe8a2a1725d821b Vivien Didelot 2015-10-22 527 fe8a2a1725d821b Vivien Didelot 2015-10-22 528 static int mv88e6xxx_state_show(struct seq_file *s, void *p) fe8a2a1725d821b Vivien Didelot 2015-10-22 529 { fe8a2a1725d821b Vivien Didelot 2015-10-22 530 struct mv88e6xxx_chip *chip = s->private; fe8a2a1725d821b Vivien Didelot 2015-10-22 531 int i, ret; fe8a2a1725d821b Vivien Didelot 2015-10-22 532 u16 data; fe8a2a1725d821b Vivien Didelot 2015-10-22 533 fe8a2a1725d821b Vivien Didelot 2015-10-22 534 /* header */ fe8a2a1725d821b Vivien Didelot 2015-10-22 535 seq_puts(s, " Port Mode\n"); fe8a2a1725d821b Vivien Didelot 2015-10-22 536 fe8a2a1725d821b Vivien Didelot 2015-10-22 537 mutex_lock(&chip->reg_lock); fe8a2a1725d821b Vivien Didelot 2015-10-22 538 fe8a2a1725d821b Vivien Didelot 2015-10-22 539 /* One line per input port */ fe8a2a1725d821b Vivien Didelot 2015-10-22 540 for (i = 0; i < mv88e6xxx_num_ports(chip); ++i) { fe8a2a1725d821b Vivien Didelot 2015-10-22 541 seq_printf(s, "%4d ", i); fe8a2a1725d821b Vivien Didelot 2015-10-22 542 fe8a2a1725d821b Vivien Didelot 2015-10-22 543 ret = mv88e6xxx_port_read(chip, i, MV88E6XXX_PORT_CTL0, &data); fe8a2a1725d821b Vivien Didelot 2015-10-22 544 if (ret < 0) fe8a2a1725d821b Vivien Didelot 2015-10-22 545 goto unlock; fe8a2a1725d821b Vivien Didelot 2015-10-22 546 fe8a2a1725d821b Vivien Didelot 2015-10-22 547 data &= MV88E6XXX_PORT_CTL0_STATE_MASK; fe8a2a1725d821b Vivien Didelot 2015-10-22 548 seq_printf(s, " %s\n", mv88e6xxx_port_state_names[data]); fe8a2a1725d821b Vivien Didelot 2015-10-22 549 ret = 0; fe8a2a1725d821b Vivien Didelot 2015-10-22 550 } fe8a2a1725d821b Vivien Didelot 2015-10-22 551 fe8a2a1725d821b Vivien Didelot 2015-10-22 552 unlock: fe8a2a1725d821b Vivien Didelot 2015-10-22 553 mutex_unlock(&chip->reg_lock); fe8a2a1725d821b Vivien Didelot 2015-10-22 554 fe8a2a1725d821b Vivien Didelot 2015-10-22 @555 return ret; fe8a2a1725d821b Vivien Didelot 2015-10-22 556 } fe8a2a1725d821b Vivien Didelot 2015-10-22 557 fe8a2a1725d821b Vivien Didelot 2015-10-22 558 static int mv88e6xxx_state_open(struct inode *inode, struct file *file) fe8a2a1725d821b Vivien Didelot 2015-10-22 559 { fe8a2a1725d821b Vivien Didelot 2015-10-22 560 return single_open(file, mv88e6xxx_state_show, inode->i_private); fe8a2a1725d821b Vivien Didelot 2015-10-22 561 } fe8a2a1725d821b Vivien Didelot 2015-10-22 562 fe8a2a1725d821b Vivien Didelot 2015-10-22 563 static const struct file_operations mv88e6xxx_state_fops = { fe8a2a1725d821b Vivien Didelot 2015-10-22 564 .open = mv88e6xxx_state_open, fe8a2a1725d821b Vivien Didelot 2015-10-22 565 .read = seq_read, fe8a2a1725d821b Vivien Didelot 2015-10-22 566 .llseek = no_llseek, fe8a2a1725d821b Vivien Didelot 2015-10-22 567 .release = single_release, fe8a2a1725d821b Vivien Didelot 2015-10-22 568 .owner = THIS_MODULE, fe8a2a1725d821b Vivien Didelot 2015-10-22 569 }; fe8a2a1725d821b Vivien Didelot 2015-10-22 570 fe8a2a1725d821b Vivien Didelot 2015-10-22 571 static const char * const mv88e6xxx_port_8021q_mode_names[] = { fe8a2a1725d821b Vivien Didelot 2015-10-22 572 [MV88E6XXX_PORT_CTL2_8021Q_MODE_DISABLED] = "Disabled", fe8a2a1725d821b Vivien Didelot 2015-10-22 573 [MV88E6XXX_PORT_CTL2_8021Q_MODE_FALLBACK] = "Fallback", fe8a2a1725d821b Vivien Didelot 2015-10-22 574 [MV88E6XXX_PORT_CTL2_8021Q_MODE_CHECK] = "Check", fe8a2a1725d821b Vivien Didelot 2015-10-22 575 [MV88E6XXX_PORT_CTL2_8021Q_MODE_SECURE] = "Secure", fe8a2a1725d821b Vivien Didelot 2015-10-22 576 }; fe8a2a1725d821b Vivien Didelot 2015-10-22 577 fe8a2a1725d821b Vivien Didelot 2015-10-22 578 static int mv88e6xxx_8021q_mode_show(struct seq_file *s, void *p) fe8a2a1725d821b Vivien Didelot 2015-10-22 579 { fe8a2a1725d821b Vivien Didelot 2015-10-22 580 struct mv88e6xxx_chip *chip = s->private; fe8a2a1725d821b Vivien Didelot 2015-10-22 581 int i, ret; fe8a2a1725d821b Vivien Didelot 2015-10-22 582 u16 data; fe8a2a1725d821b Vivien Didelot 2015-10-22 583 fe8a2a1725d821b Vivien Didelot 2015-10-22 584 /* header */ fe8a2a1725d821b Vivien Didelot 2015-10-22 585 seq_puts(s, " Port Mode\n"); fe8a2a1725d821b Vivien Didelot 2015-10-22 586 fe8a2a1725d821b Vivien Didelot 2015-10-22 587 mutex_lock(&chip->reg_lock); fe8a2a1725d821b Vivien Didelot 2015-10-22 588 fe8a2a1725d821b Vivien Didelot 2015-10-22 589 /* One line per input port */ fe8a2a1725d821b Vivien Didelot 2015-10-22 590 for (i = 0; i < mv88e6xxx_num_ports(chip); ++i) { fe8a2a1725d821b Vivien Didelot 2015-10-22 591 seq_printf(s, "%4d ", i); fe8a2a1725d821b Vivien Didelot 2015-10-22 592 fe8a2a1725d821b Vivien Didelot 2015-10-22 593 ret = mv88e6xxx_port_read(chip, i, MV88E6XXX_PORT_CTL2, &data); fe8a2a1725d821b Vivien Didelot 2015-10-22 594 if (ret < 0) fe8a2a1725d821b Vivien Didelot 2015-10-22 595 goto unlock; fe8a2a1725d821b Vivien Didelot 2015-10-22 596 fe8a2a1725d821b Vivien Didelot 2015-10-22 597 data &= MV88E6XXX_PORT_CTL2_8021Q_MODE_MASK; fe8a2a1725d821b Vivien Didelot 2015-10-22 598 seq_printf(s, " %s\n", mv88e6xxx_port_8021q_mode_names[data]); fe8a2a1725d821b Vivien Didelot 2015-10-22 599 ret = 0; fe8a2a1725d821b Vivien Didelot 2015-10-22 600 } fe8a2a1725d821b Vivien Didelot 2015-10-22 601 fe8a2a1725d821b Vivien Didelot 2015-10-22 602 unlock: fe8a2a1725d821b Vivien Didelot 2015-10-22 603 mutex_unlock(&chip->reg_lock); fe8a2a1725d821b Vivien Didelot 2015-10-22 604 fe8a2a1725d821b Vivien Didelot 2015-10-22 @605 return ret; fe8a2a1725d821b Vivien Didelot 2015-10-22 606 } fe8a2a1725d821b Vivien Didelot 2015-10-22 607 :::::: The code at line 441 was first introduced by commit :::::: fe8a2a1725d821bb81755cefe6483985aee89fba net: dsa: mv88e6xxx: add debugfs interface :::::: TO: Vivien Didelot <[email protected]> :::::: CC: Russell King (Oracle) <[email protected]> --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/[email protected] _______________________________________________ kbuild mailing list -- [email protected] To unsubscribe send an email to [email protected]
