diff for duplicates of <202509242259.ICWpLRW0-lkp@intel.com> diff --git a/a/1.txt b/N1/1.txt index 955580d..27905f1 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -1,39 +1,25 @@ -BCC: lkp@intel.com -CC: oe-kbuild-all@lists.linux.dev -In-Reply-To: <20250918230857.127400-6-o-takashi@sakamocchi.jp> -References: <20250918230857.127400-6-o-takashi@sakamocchi.jp> -TO: Takashi Sakamoto <o-takashi@sakamocchi.jp> - Hi Takashi, kernel test robot noticed the following build warnings: -[auto build test WARNING on e6d2338b6f3e522872f3a14fcc5e5de2f58bf23b] - url: https://github.com/intel-lab-lkp/linux/commits/Takashi-Sakamoto/firewire-core-remove-useless-generation-check/20250919-115832 base: e6d2338b6f3e522872f3a14fcc5e5de2f58bf23b patch link: https://lore.kernel.org/r/20250918230857.127400-6-o-takashi%40sakamocchi.jp patch subject: [PATCH 5/6] firewire: core; eliminate pick_me goto label -:::::: branch date: 5 days ago -:::::: commit date: 5 days ago config: sparc64-randconfig-r072-20250922 (https://download.01.org/0day-ci/archive/20250924/202509242259.ICWpLRW0-lkp@intel.com/config) compiler: sparc64-linux-gcc (GCC) 12.5.0 If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot <lkp@intel.com> -| Reported-by: Dan Carpenter <error27@gmail.com> +| Reported-by: Dan Carpenter <dan.carpenter@linaro.org> | Closes: https://lore.kernel.org/r/202509242259.ICWpLRW0-lkp@intel.com/ New smatch warnings: drivers/firewire/core-card.c:445 bm_work() error: uninitialized symbol 'stand_for_root'. -Old smatch warnings: -drivers/firewire/core-card.c:498 bm_work() warn: always true condition '(root_node->max_hops < (16 / 1 + (0))) => (0-15 < 16)' - vim +/stand_for_root +445 drivers/firewire/core-card.c -e309c29e1b26f4 drivers/firewire/core-card.c Takashi Sakamoto 2025-09-19 380 e309c29e1b26f4 drivers/firewire/core-card.c Takashi Sakamoto 2025-09-19 381 static void bm_work(struct work_struct *work) e309c29e1b26f4 drivers/firewire/core-card.c Takashi Sakamoto 2025-09-19 382 { e309c29e1b26f4 drivers/firewire/core-card.c Takashi Sakamoto 2025-09-19 383 static const char gap_count_table[] = { @@ -95,115 +81,21 @@ de5d138456fb29 drivers/firewire/core-card.c Takashi Sakamoto 2025-09-19 438 e309c29e1b26f4 drivers/firewire/core-card.c Takashi Sakamoto 2025-09-19 439 break; 931c4834c8d1e1 drivers/firewire/fw-card.c Kristian Høgsberg 2007-01-26 440 } ff94548bbb2edf drivers/firewire/core-card.c Takashi Sakamoto 2025-09-19 441 } + +stand_for_root is uninitialized on the else path. + 931c4834c8d1e1 drivers/firewire/fw-card.c Kristian Høgsberg 2007-01-26 442 de5d138456fb29 drivers/firewire/core-card.c Takashi Sakamoto 2025-09-19 443 // We're bus manager for this generation, so next step is to make sure we have an active de5d138456fb29 drivers/firewire/core-card.c Takashi Sakamoto 2025-09-19 444 // cycle master and do gap count optimization. de5d138456fb29 drivers/firewire/core-card.c Takashi Sakamoto 2025-09-19 @445 if (!stand_for_root) { + ^^^^^^^^^^^^^^^ + 91bf158f8cdf6f drivers/firewire/core-card.c Takashi Sakamoto 2025-09-13 446 if (card->gap_count == GAP_COUNT_MISMATCHED) { de5d138456fb29 drivers/firewire/core-card.c Takashi Sakamoto 2025-09-19 447 // If self IDs have inconsistent gap counts, do a de5d138456fb29 drivers/firewire/core-card.c Takashi Sakamoto 2025-09-19 448 // bus reset ASAP. The config rom read might never de5d138456fb29 drivers/firewire/core-card.c Takashi Sakamoto 2025-09-19 449 // complete, so don't wait for it. However, still de5d138456fb29 drivers/firewire/core-card.c Takashi Sakamoto 2025-09-19 450 // send a PHY configuration packet prior to the de5d138456fb29 drivers/firewire/core-card.c Takashi Sakamoto 2025-09-19 451 // bus reset. The PHY configuration packet might -de5d138456fb29 drivers/firewire/core-card.c Takashi Sakamoto 2025-09-19 452 // fail, but 1394-2008 8.4.5.2 explicitly permits -de5d138456fb29 drivers/firewire/core-card.c Takashi Sakamoto 2025-09-19 453 // it in this case, so it should be safe to try. -de5d138456fb29 drivers/firewire/core-card.c Takashi Sakamoto 2025-09-19 454 stand_for_root = true; -de5d138456fb29 drivers/firewire/core-card.c Takashi Sakamoto 2025-09-19 455 -de5d138456fb29 drivers/firewire/core-card.c Takashi Sakamoto 2025-09-19 456 // We must always send a bus reset if the gap count -de5d138456fb29 drivers/firewire/core-card.c Takashi Sakamoto 2025-09-19 457 // is inconsistent, so bypass the 5-reset limit. -7ed4380009e96d drivers/firewire/core-card.c Takashi Sakamoto 2024-02-07 458 card->bm_retries = 0; -cae2d92cdcae3f drivers/firewire/core-card.c Takashi Sakamoto 2025-09-08 459 } else { -cae2d92cdcae3f drivers/firewire/core-card.c Takashi Sakamoto 2025-09-08 460 // Now investigate root node. -cae2d92cdcae3f drivers/firewire/core-card.c Takashi Sakamoto 2025-09-08 461 struct fw_device *root_device = fw_node_get_device(root_node); -cae2d92cdcae3f drivers/firewire/core-card.c Takashi Sakamoto 2025-09-08 462 -cae2d92cdcae3f drivers/firewire/core-card.c Takashi Sakamoto 2025-09-08 463 if (root_device == NULL) { -cae2d92cdcae3f drivers/firewire/core-card.c Takashi Sakamoto 2025-09-08 464 // Either link_on is false, or we failed to read the -cae2d92cdcae3f drivers/firewire/core-card.c Takashi Sakamoto 2025-09-08 465 // config rom. In either case, pick another root. -de5d138456fb29 drivers/firewire/core-card.c Takashi Sakamoto 2025-09-19 466 stand_for_root = true; -cae2d92cdcae3f drivers/firewire/core-card.c Takashi Sakamoto 2025-09-08 467 } else { -cae2d92cdcae3f drivers/firewire/core-card.c Takashi Sakamoto 2025-09-08 468 bool root_device_is_running = -cae2d92cdcae3f drivers/firewire/core-card.c Takashi Sakamoto 2025-09-08 469 atomic_read(&root_device->state) == FW_DEVICE_RUNNING; -cae2d92cdcae3f drivers/firewire/core-card.c Takashi Sakamoto 2025-09-08 470 -cae2d92cdcae3f drivers/firewire/core-card.c Takashi Sakamoto 2025-09-08 471 if (!root_device_is_running) { -cae2d92cdcae3f drivers/firewire/core-card.c Takashi Sakamoto 2025-09-08 472 // If we haven't probed this device yet, bail out now -cae2d92cdcae3f drivers/firewire/core-card.c Takashi Sakamoto 2025-09-08 473 // and let's try again once that's done. -25feb1a96e21ae drivers/firewire/core-card.c Takashi Sakamoto 2025-09-08 474 return; -de5d138456fb29 drivers/firewire/core-card.c Takashi Sakamoto 2025-09-19 475 } else if (!root_device->cmc) { -cae2d92cdcae3f drivers/firewire/core-card.c Takashi Sakamoto 2025-09-08 476 // Current root has an active link layer and we -cae2d92cdcae3f drivers/firewire/core-card.c Takashi Sakamoto 2025-09-08 477 // successfully read the config rom, but it's not -cae2d92cdcae3f drivers/firewire/core-card.c Takashi Sakamoto 2025-09-08 478 // cycle master capable. -de5d138456fb29 drivers/firewire/core-card.c Takashi Sakamoto 2025-09-19 479 stand_for_root = true; -de5d138456fb29 drivers/firewire/core-card.c Takashi Sakamoto 2025-09-19 480 } -83db801ce8c644 drivers/firewire/fw-card.c Kristian Høgsberg 2007-01-26 481 } -cae2d92cdcae3f drivers/firewire/core-card.c Takashi Sakamoto 2025-09-08 482 } -cae2d92cdcae3f drivers/firewire/core-card.c Takashi Sakamoto 2025-09-08 483 } -de5d138456fb29 drivers/firewire/core-card.c Takashi Sakamoto 2025-09-19 484 -de5d138456fb29 drivers/firewire/core-card.c Takashi Sakamoto 2025-09-19 485 if (stand_for_root) { -de5d138456fb29 drivers/firewire/core-card.c Takashi Sakamoto 2025-09-19 486 new_root_id = local_id; -de5d138456fb29 drivers/firewire/core-card.c Takashi Sakamoto 2025-09-19 487 } else { -de5d138456fb29 drivers/firewire/core-card.c Takashi Sakamoto 2025-09-19 488 // We will send out a force root packet for this node as part of the gap count -de5d138456fb29 drivers/firewire/core-card.c Takashi Sakamoto 2025-09-19 489 // optimization on behalf of the node. -de5d138456fb29 drivers/firewire/core-card.c Takashi Sakamoto 2025-09-19 490 new_root_id = root_id; -de5d138456fb29 drivers/firewire/core-card.c Takashi Sakamoto 2025-09-19 491 } -de5d138456fb29 drivers/firewire/core-card.c Takashi Sakamoto 2025-09-19 492 -24d40125f1f59a drivers/firewire/fw-card.c Stefan Richter 2007-06-18 493 /* -24d40125f1f59a drivers/firewire/fw-card.c Stefan Richter 2007-06-18 494 * Pick a gap count from 1394a table E-1. The table doesn't cover -24d40125f1f59a drivers/firewire/fw-card.c Stefan Richter 2007-06-18 495 * the typically much larger 1394b beta repeater delays though. -24d40125f1f59a drivers/firewire/fw-card.c Stefan Richter 2007-06-18 496 */ -24d40125f1f59a drivers/firewire/fw-card.c Stefan Richter 2007-06-18 497 if (!card->beta_repeaters_present && -15803478fdea96 drivers/firewire/fw-card.c Stefan Richter 2008-02-24 498 root_node->max_hops < ARRAY_SIZE(gap_count_table)) -8c2d2fcd6b7934 drivers/firewire/core-card.c Takashi Sakamoto 2025-09-08 499 expected_gap_count = gap_count_table[root_node->max_hops]; -83db801ce8c644 drivers/firewire/fw-card.c Kristian Høgsberg 2007-01-26 500 else -8c2d2fcd6b7934 drivers/firewire/core-card.c Takashi Sakamoto 2025-09-08 501 expected_gap_count = 63; -83db801ce8c644 drivers/firewire/fw-card.c Kristian Høgsberg 2007-01-26 502 -c781c06d119d04 drivers/firewire/fw-card.c Kristian Høgsberg 2007-05-07 503 /* -25b1c3d8889f98 drivers/firewire/fw-card.c Stefan Richter 2008-03-24 504 * Finally, figure out if we should do a reset or not. If we have -25b1c3d8889f98 drivers/firewire/fw-card.c Stefan Richter 2008-03-24 505 * done less than 5 resets with the same physical topology and we -c781c06d119d04 drivers/firewire/fw-card.c Kristian Høgsberg 2007-05-07 506 * have either a new root or a new gap count setting, let's do it. -c781c06d119d04 drivers/firewire/fw-card.c Kristian Høgsberg 2007-05-07 507 */ -19a15b937b2663 drivers/firewire/fw-card.c Kristian Høgsberg 2006-12-19 508 -8c2d2fcd6b7934 drivers/firewire/core-card.c Takashi Sakamoto 2025-09-08 509 if (card->bm_retries++ < 5 && (card->gap_count != expected_gap_count || new_root_id != root_id)) -25b1c3d8889f98 drivers/firewire/fw-card.c Stefan Richter 2008-03-24 510 do_reset = true; -19a15b937b2663 drivers/firewire/fw-card.c Kristian Høgsberg 2006-12-19 511 -8c2d2fcd6b7934 drivers/firewire/core-card.c Takashi Sakamoto 2025-09-08 512 if (do_reset) { -8c2d2fcd6b7934 drivers/firewire/core-card.c Takashi Sakamoto 2025-09-08 513 int card_gap_count = card->gap_count; -8c2d2fcd6b7934 drivers/firewire/core-card.c Takashi Sakamoto 2025-09-08 514 -26b4950de174bc drivers/firewire/core-card.c Stefan Richter 2012-02-18 515 fw_notice(card, "phy config: new root=%x, gap_count=%d\n", -8c2d2fcd6b7934 drivers/firewire/core-card.c Takashi Sakamoto 2025-09-08 516 new_root_id, expected_gap_count); -8c2d2fcd6b7934 drivers/firewire/core-card.c Takashi Sakamoto 2025-09-08 517 fw_send_phy_config(card, new_root_id, generation, expected_gap_count); -d0b06dc48fb159 drivers/firewire/core-card.c Takashi Sakamoto 2024-02-29 518 /* -d0b06dc48fb159 drivers/firewire/core-card.c Takashi Sakamoto 2024-02-29 519 * Where possible, use a short bus reset to minimize -d0b06dc48fb159 drivers/firewire/core-card.c Takashi Sakamoto 2024-02-29 520 * disruption to isochronous transfers. But in the event -d0b06dc48fb159 drivers/firewire/core-card.c Takashi Sakamoto 2024-02-29 521 * of a gap count inconsistency, use a long bus reset. -d0b06dc48fb159 drivers/firewire/core-card.c Takashi Sakamoto 2024-02-29 522 * -d0b06dc48fb159 drivers/firewire/core-card.c Takashi Sakamoto 2024-02-29 523 * As noted in 1394a 8.4.6.2, nodes on a mixed 1394/1394a bus -d0b06dc48fb159 drivers/firewire/core-card.c Takashi Sakamoto 2024-02-29 524 * may set different gap counts after a bus reset. On a mixed -d0b06dc48fb159 drivers/firewire/core-card.c Takashi Sakamoto 2024-02-29 525 * 1394/1394a bus, a short bus reset can get doubled. Some -d0b06dc48fb159 drivers/firewire/core-card.c Takashi Sakamoto 2024-02-29 526 * nodes may treat the double reset as one bus reset and others -d0b06dc48fb159 drivers/firewire/core-card.c Takashi Sakamoto 2024-02-29 527 * may treat it as two, causing a gap count inconsistency -d0b06dc48fb159 drivers/firewire/core-card.c Takashi Sakamoto 2024-02-29 528 * again. Using a long bus reset prevents this. -d0b06dc48fb159 drivers/firewire/core-card.c Takashi Sakamoto 2024-02-29 529 */ -8c2d2fcd6b7934 drivers/firewire/core-card.c Takashi Sakamoto 2025-09-08 530 reset_bus(card, card_gap_count != 0); -cbae787c0f288c drivers/firewire/fw-card.c Stefan Richter 2009-03-10 531 /* Will allocate broadcast channel after the reset. */ -8c2d2fcd6b7934 drivers/firewire/core-card.c Takashi Sakamoto 2025-09-08 532 } else { -a4bac55d99d379 drivers/firewire/core-card.c Takashi Sakamoto 2025-09-08 533 struct fw_device *root_device = fw_node_get_device(root_node); -a4bac55d99d379 drivers/firewire/core-card.c Takashi Sakamoto 2025-09-08 534 -a4bac55d99d379 drivers/firewire/core-card.c Takashi Sakamoto 2025-09-08 535 if (root_device && root_device->cmc) { -8c2d2fcd6b7934 drivers/firewire/core-card.c Takashi Sakamoto 2025-09-08 536 // Make sure that the cycle master sends cycle start packets. -b70a5f33381f78 drivers/firewire/core-card.c Takashi Sakamoto 2025-09-08 537 __be32 data = cpu_to_be32(CSR_STATE_BIT_CMSTR); -b70a5f33381f78 drivers/firewire/core-card.c Takashi Sakamoto 2025-09-08 538 int rcode = fw_run_transaction(card, TCODE_WRITE_QUADLET_REQUEST, -c374ab424249b6 drivers/firewire/core-card.c Clemens Ladisch 2010-06-10 539 root_id, generation, SCODE_100, -c374ab424249b6 drivers/firewire/core-card.c Clemens Ladisch 2010-06-10 540 CSR_REGISTER_BASE + CSR_STATE_SET, -b70a5f33381f78 drivers/firewire/core-card.c Takashi Sakamoto 2025-09-08 541 &data, sizeof(data)); -c374ab424249b6 drivers/firewire/core-card.c Clemens Ladisch 2010-06-10 542 if (rcode == RCODE_GENERATION) -25feb1a96e21ae drivers/firewire/core-card.c Takashi Sakamoto 2025-09-08 543 return; -c374ab424249b6 drivers/firewire/core-card.c Clemens Ladisch 2010-06-10 544 } -c374ab424249b6 drivers/firewire/core-card.c Clemens Ladisch 2010-06-10 545 -cbae787c0f288c drivers/firewire/fw-card.c Stefan Richter 2009-03-10 546 if (local_id == irm_id) -cbae787c0f288c drivers/firewire/fw-card.c Stefan Richter 2009-03-10 547 allocate_broadcast_channel(card, generation); -19a15b937b2663 drivers/firewire/fw-card.c Kristian Høgsberg 2006-12-19 548 } -8c2d2fcd6b7934 drivers/firewire/core-card.c Takashi Sakamoto 2025-09-08 549 } -19a15b937b2663 drivers/firewire/fw-card.c Kristian Høgsberg 2006-12-19 550 -- 0-DAY CI Kernel Test Service diff --git a/a/content_digest b/N1/content_digest index 9fbaeed..d6156c3 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -1,47 +1,35 @@ - "From\0kernel test robot <lkp@intel.com>\0" + "ref\020250918230857.127400-6-o-takashi@sakamocchi.jp\0" + "From\0Dan Carpenter <dan.carpenter@linaro.org>\0" "Subject\0Re: [PATCH 5/6] firewire: core; eliminate pick_me goto label\0" - "Date\0Wed, 24 Sep 2025 22:31:59 +0800\0" - "To\0oe-kbuild@lists.linux.dev\0" + "Date\0Wed, 24 Sep 2025 18:04:56 +0300\0" + "To\0oe-kbuild@lists.linux.dev" + " Takashi Sakamoto <o-takashi@sakamocchi.jp>\0" "Cc\0lkp@intel.com" - " Dan Carpenter <error27@gmail.com>\0" + " oe-kbuild-all@lists.linux.dev\0" "\00:1\0" "b\0" - "BCC: lkp@intel.com\n" - "CC: oe-kbuild-all@lists.linux.dev\n" - "In-Reply-To: <20250918230857.127400-6-o-takashi@sakamocchi.jp>\n" - "References: <20250918230857.127400-6-o-takashi@sakamocchi.jp>\n" - "TO: Takashi Sakamoto <o-takashi@sakamocchi.jp>\n" - "\n" "Hi Takashi,\n" "\n" "kernel test robot noticed the following build warnings:\n" "\n" - "[auto build test WARNING on e6d2338b6f3e522872f3a14fcc5e5de2f58bf23b]\n" - "\n" "url: https://github.com/intel-lab-lkp/linux/commits/Takashi-Sakamoto/firewire-core-remove-useless-generation-check/20250919-115832\n" "base: e6d2338b6f3e522872f3a14fcc5e5de2f58bf23b\n" "patch link: https://lore.kernel.org/r/20250918230857.127400-6-o-takashi%40sakamocchi.jp\n" "patch subject: [PATCH 5/6] firewire: core; eliminate pick_me goto label\n" - ":::::: branch date: 5 days ago\n" - ":::::: commit date: 5 days ago\n" "config: sparc64-randconfig-r072-20250922 (https://download.01.org/0day-ci/archive/20250924/202509242259.ICWpLRW0-lkp@intel.com/config)\n" "compiler: sparc64-linux-gcc (GCC) 12.5.0\n" "\n" "If you fix the issue in a separate patch/commit (i.e. not just a new version of\n" "the same patch/commit), kindly add following tags\n" "| Reported-by: kernel test robot <lkp@intel.com>\n" - "| Reported-by: Dan Carpenter <error27@gmail.com>\n" + "| Reported-by: Dan Carpenter <dan.carpenter@linaro.org>\n" "| Closes: https://lore.kernel.org/r/202509242259.ICWpLRW0-lkp@intel.com/\n" "\n" "New smatch warnings:\n" "drivers/firewire/core-card.c:445 bm_work() error: uninitialized symbol 'stand_for_root'.\n" "\n" - "Old smatch warnings:\n" - "drivers/firewire/core-card.c:498 bm_work() warn: always true condition '(root_node->max_hops < (16 / 1 + (0))) => (0-15 < 16)'\n" - "\n" "vim +/stand_for_root +445 drivers/firewire/core-card.c\n" "\n" - "e309c29e1b26f4 drivers/firewire/core-card.c Takashi Sakamoto 2025-09-19 380 \n" "e309c29e1b26f4 drivers/firewire/core-card.c Takashi Sakamoto 2025-09-19 381 static void bm_work(struct work_struct *work)\n" "e309c29e1b26f4 drivers/firewire/core-card.c Takashi Sakamoto 2025-09-19 382 {\n" "e309c29e1b26f4 drivers/firewire/core-card.c Takashi Sakamoto 2025-09-19 383 \tstatic const char gap_count_table[] = {\n" @@ -103,118 +91,24 @@ "e309c29e1b26f4 drivers/firewire/core-card.c Takashi Sakamoto 2025-09-19 439 \t\t\tbreak;\n" "931c4834c8d1e1 drivers/firewire/fw-card.c Kristian H\303\270gsberg 2007-01-26 440 \t\t}\n" "ff94548bbb2edf drivers/firewire/core-card.c Takashi Sakamoto 2025-09-19 441 \t}\n" + "\n" + "stand_for_root is uninitialized on the else path.\n" + "\n" "931c4834c8d1e1 drivers/firewire/fw-card.c Kristian H\303\270gsberg 2007-01-26 442 \n" "de5d138456fb29 drivers/firewire/core-card.c Takashi Sakamoto 2025-09-19 443 \t// We're bus manager for this generation, so next step is to make sure we have an active\n" "de5d138456fb29 drivers/firewire/core-card.c Takashi Sakamoto 2025-09-19 444 \t// cycle master and do gap count optimization.\n" "de5d138456fb29 drivers/firewire/core-card.c Takashi Sakamoto 2025-09-19 @445 \tif (!stand_for_root) {\n" + " ^^^^^^^^^^^^^^^\n" + "\n" "91bf158f8cdf6f drivers/firewire/core-card.c Takashi Sakamoto 2025-09-13 446 \t\tif (card->gap_count == GAP_COUNT_MISMATCHED) {\n" "de5d138456fb29 drivers/firewire/core-card.c Takashi Sakamoto 2025-09-19 447 \t\t\t// If self IDs have inconsistent gap counts, do a\n" "de5d138456fb29 drivers/firewire/core-card.c Takashi Sakamoto 2025-09-19 448 \t\t\t// bus reset ASAP. The config rom read might never\n" "de5d138456fb29 drivers/firewire/core-card.c Takashi Sakamoto 2025-09-19 449 \t\t\t// complete, so don't wait for it. However, still\n" "de5d138456fb29 drivers/firewire/core-card.c Takashi Sakamoto 2025-09-19 450 \t\t\t// send a PHY configuration packet prior to the\n" "de5d138456fb29 drivers/firewire/core-card.c Takashi Sakamoto 2025-09-19 451 \t\t\t// bus reset. The PHY configuration packet might\n" - "de5d138456fb29 drivers/firewire/core-card.c Takashi Sakamoto 2025-09-19 452 \t\t\t// fail, but 1394-2008 8.4.5.2 explicitly permits\n" - "de5d138456fb29 drivers/firewire/core-card.c Takashi Sakamoto 2025-09-19 453 \t\t\t// it in this case, so it should be safe to try.\n" - "de5d138456fb29 drivers/firewire/core-card.c Takashi Sakamoto 2025-09-19 454 \t\t\tstand_for_root = true;\n" - "de5d138456fb29 drivers/firewire/core-card.c Takashi Sakamoto 2025-09-19 455 \n" - "de5d138456fb29 drivers/firewire/core-card.c Takashi Sakamoto 2025-09-19 456 \t\t\t// We must always send a bus reset if the gap count\n" - "de5d138456fb29 drivers/firewire/core-card.c Takashi Sakamoto 2025-09-19 457 \t\t\t// is inconsistent, so bypass the 5-reset limit.\n" - "7ed4380009e96d drivers/firewire/core-card.c Takashi Sakamoto 2024-02-07 458 \t\t\tcard->bm_retries = 0;\n" - "cae2d92cdcae3f drivers/firewire/core-card.c Takashi Sakamoto 2025-09-08 459 \t\t} else {\n" - "cae2d92cdcae3f drivers/firewire/core-card.c Takashi Sakamoto 2025-09-08 460 \t\t\t// Now investigate root node.\n" - "cae2d92cdcae3f drivers/firewire/core-card.c Takashi Sakamoto 2025-09-08 461 \t\t\tstruct fw_device *root_device = fw_node_get_device(root_node);\n" - "cae2d92cdcae3f drivers/firewire/core-card.c Takashi Sakamoto 2025-09-08 462 \n" - "cae2d92cdcae3f drivers/firewire/core-card.c Takashi Sakamoto 2025-09-08 463 \t\t\tif (root_device == NULL) {\n" - "cae2d92cdcae3f drivers/firewire/core-card.c Takashi Sakamoto 2025-09-08 464 \t\t\t\t// Either link_on is false, or we failed to read the\n" - "cae2d92cdcae3f drivers/firewire/core-card.c Takashi Sakamoto 2025-09-08 465 \t\t\t\t// config rom. In either case, pick another root.\n" - "de5d138456fb29 drivers/firewire/core-card.c Takashi Sakamoto 2025-09-19 466 \t\t\t\tstand_for_root = true;\n" - "cae2d92cdcae3f drivers/firewire/core-card.c Takashi Sakamoto 2025-09-08 467 \t\t\t} else {\n" - "cae2d92cdcae3f drivers/firewire/core-card.c Takashi Sakamoto 2025-09-08 468 \t\t\t\tbool root_device_is_running =\n" - "cae2d92cdcae3f drivers/firewire/core-card.c Takashi Sakamoto 2025-09-08 469 \t\t\t\t\tatomic_read(&root_device->state) == FW_DEVICE_RUNNING;\n" - "cae2d92cdcae3f drivers/firewire/core-card.c Takashi Sakamoto 2025-09-08 470 \n" - "cae2d92cdcae3f drivers/firewire/core-card.c Takashi Sakamoto 2025-09-08 471 \t\t\t\tif (!root_device_is_running) {\n" - "cae2d92cdcae3f drivers/firewire/core-card.c Takashi Sakamoto 2025-09-08 472 \t\t\t\t\t// If we haven't probed this device yet, bail out now\n" - "cae2d92cdcae3f drivers/firewire/core-card.c Takashi Sakamoto 2025-09-08 473 \t\t\t\t\t// and let's try again once that's done.\n" - "25feb1a96e21ae drivers/firewire/core-card.c Takashi Sakamoto 2025-09-08 474 \t\t\t\t\treturn;\n" - "de5d138456fb29 drivers/firewire/core-card.c Takashi Sakamoto 2025-09-19 475 \t\t\t\t} else if (!root_device->cmc) {\n" - "cae2d92cdcae3f drivers/firewire/core-card.c Takashi Sakamoto 2025-09-08 476 \t\t\t\t\t// Current root has an active link layer and we\n" - "cae2d92cdcae3f drivers/firewire/core-card.c Takashi Sakamoto 2025-09-08 477 \t\t\t\t\t// successfully read the config rom, but it's not\n" - "cae2d92cdcae3f drivers/firewire/core-card.c Takashi Sakamoto 2025-09-08 478 \t\t\t\t\t// cycle master capable.\n" - "de5d138456fb29 drivers/firewire/core-card.c Takashi Sakamoto 2025-09-19 479 \t\t\t\t\tstand_for_root = true;\n" - "de5d138456fb29 drivers/firewire/core-card.c Takashi Sakamoto 2025-09-19 480 \t\t\t\t}\n" - "83db801ce8c644 drivers/firewire/fw-card.c Kristian H\303\270gsberg 2007-01-26 481 \t\t\t}\n" - "cae2d92cdcae3f drivers/firewire/core-card.c Takashi Sakamoto 2025-09-08 482 \t\t}\n" - "cae2d92cdcae3f drivers/firewire/core-card.c Takashi Sakamoto 2025-09-08 483 \t}\n" - "de5d138456fb29 drivers/firewire/core-card.c Takashi Sakamoto 2025-09-19 484 \n" - "de5d138456fb29 drivers/firewire/core-card.c Takashi Sakamoto 2025-09-19 485 \tif (stand_for_root) {\n" - "de5d138456fb29 drivers/firewire/core-card.c Takashi Sakamoto 2025-09-19 486 \t\tnew_root_id = local_id;\n" - "de5d138456fb29 drivers/firewire/core-card.c Takashi Sakamoto 2025-09-19 487 \t} else {\n" - "de5d138456fb29 drivers/firewire/core-card.c Takashi Sakamoto 2025-09-19 488 \t\t// We will send out a force root packet for this node as part of the gap count\n" - "de5d138456fb29 drivers/firewire/core-card.c Takashi Sakamoto 2025-09-19 489 \t\t// optimization on behalf of the node.\n" - "de5d138456fb29 drivers/firewire/core-card.c Takashi Sakamoto 2025-09-19 490 \t\tnew_root_id = root_id;\n" - "de5d138456fb29 drivers/firewire/core-card.c Takashi Sakamoto 2025-09-19 491 \t}\n" - "de5d138456fb29 drivers/firewire/core-card.c Takashi Sakamoto 2025-09-19 492 \n" - "24d40125f1f59a drivers/firewire/fw-card.c Stefan Richter 2007-06-18 493 \t/*\n" - "24d40125f1f59a drivers/firewire/fw-card.c Stefan Richter 2007-06-18 494 \t * Pick a gap count from 1394a table E-1. The table doesn't cover\n" - "24d40125f1f59a drivers/firewire/fw-card.c Stefan Richter 2007-06-18 495 \t * the typically much larger 1394b beta repeater delays though.\n" - "24d40125f1f59a drivers/firewire/fw-card.c Stefan Richter 2007-06-18 496 \t */\n" - "24d40125f1f59a drivers/firewire/fw-card.c Stefan Richter 2007-06-18 497 \tif (!card->beta_repeaters_present &&\n" - "15803478fdea96 drivers/firewire/fw-card.c Stefan Richter 2008-02-24 498 \t root_node->max_hops < ARRAY_SIZE(gap_count_table))\n" - "8c2d2fcd6b7934 drivers/firewire/core-card.c Takashi Sakamoto 2025-09-08 499 \t\texpected_gap_count = gap_count_table[root_node->max_hops];\n" - "83db801ce8c644 drivers/firewire/fw-card.c Kristian H\303\270gsberg 2007-01-26 500 \telse\n" - "8c2d2fcd6b7934 drivers/firewire/core-card.c Takashi Sakamoto 2025-09-08 501 \t\texpected_gap_count = 63;\n" - "83db801ce8c644 drivers/firewire/fw-card.c Kristian H\303\270gsberg 2007-01-26 502 \n" - "c781c06d119d04 drivers/firewire/fw-card.c Kristian H\303\270gsberg 2007-05-07 503 \t/*\n" - "25b1c3d8889f98 drivers/firewire/fw-card.c Stefan Richter 2008-03-24 504 \t * Finally, figure out if we should do a reset or not. If we have\n" - "25b1c3d8889f98 drivers/firewire/fw-card.c Stefan Richter 2008-03-24 505 \t * done less than 5 resets with the same physical topology and we\n" - "c781c06d119d04 drivers/firewire/fw-card.c Kristian H\303\270gsberg 2007-05-07 506 \t * have either a new root or a new gap count setting, let's do it.\n" - "c781c06d119d04 drivers/firewire/fw-card.c Kristian H\303\270gsberg 2007-05-07 507 \t */\n" - "19a15b937b2663 drivers/firewire/fw-card.c Kristian H\303\270gsberg 2006-12-19 508 \n" - "8c2d2fcd6b7934 drivers/firewire/core-card.c Takashi Sakamoto 2025-09-08 509 \tif (card->bm_retries++ < 5 && (card->gap_count != expected_gap_count || new_root_id != root_id))\n" - "25b1c3d8889f98 drivers/firewire/fw-card.c Stefan Richter 2008-03-24 510 \t\tdo_reset = true;\n" - "19a15b937b2663 drivers/firewire/fw-card.c Kristian H\303\270gsberg 2006-12-19 511 \n" - "8c2d2fcd6b7934 drivers/firewire/core-card.c Takashi Sakamoto 2025-09-08 512 \tif (do_reset) {\n" - "8c2d2fcd6b7934 drivers/firewire/core-card.c Takashi Sakamoto 2025-09-08 513 \t\tint card_gap_count = card->gap_count;\n" - "8c2d2fcd6b7934 drivers/firewire/core-card.c Takashi Sakamoto 2025-09-08 514 \n" - "26b4950de174bc drivers/firewire/core-card.c Stefan Richter 2012-02-18 515 \t\tfw_notice(card, \"phy config: new root=%x, gap_count=%d\\n\",\n" - "8c2d2fcd6b7934 drivers/firewire/core-card.c Takashi Sakamoto 2025-09-08 516 \t\t\t new_root_id, expected_gap_count);\n" - "8c2d2fcd6b7934 drivers/firewire/core-card.c Takashi Sakamoto 2025-09-08 517 \t\tfw_send_phy_config(card, new_root_id, generation, expected_gap_count);\n" - "d0b06dc48fb159 drivers/firewire/core-card.c Takashi Sakamoto 2024-02-29 518 \t\t/*\n" - "d0b06dc48fb159 drivers/firewire/core-card.c Takashi Sakamoto 2024-02-29 519 \t\t * Where possible, use a short bus reset to minimize\n" - "d0b06dc48fb159 drivers/firewire/core-card.c Takashi Sakamoto 2024-02-29 520 \t\t * disruption to isochronous transfers. But in the event\n" - "d0b06dc48fb159 drivers/firewire/core-card.c Takashi Sakamoto 2024-02-29 521 \t\t * of a gap count inconsistency, use a long bus reset.\n" - "d0b06dc48fb159 drivers/firewire/core-card.c Takashi Sakamoto 2024-02-29 522 \t\t *\n" - "d0b06dc48fb159 drivers/firewire/core-card.c Takashi Sakamoto 2024-02-29 523 \t\t * As noted in 1394a 8.4.6.2, nodes on a mixed 1394/1394a bus\n" - "d0b06dc48fb159 drivers/firewire/core-card.c Takashi Sakamoto 2024-02-29 524 \t\t * may set different gap counts after a bus reset. On a mixed\n" - "d0b06dc48fb159 drivers/firewire/core-card.c Takashi Sakamoto 2024-02-29 525 \t\t * 1394/1394a bus, a short bus reset can get doubled. Some\n" - "d0b06dc48fb159 drivers/firewire/core-card.c Takashi Sakamoto 2024-02-29 526 \t\t * nodes may treat the double reset as one bus reset and others\n" - "d0b06dc48fb159 drivers/firewire/core-card.c Takashi Sakamoto 2024-02-29 527 \t\t * may treat it as two, causing a gap count inconsistency\n" - "d0b06dc48fb159 drivers/firewire/core-card.c Takashi Sakamoto 2024-02-29 528 \t\t * again. Using a long bus reset prevents this.\n" - "d0b06dc48fb159 drivers/firewire/core-card.c Takashi Sakamoto 2024-02-29 529 \t\t */\n" - "8c2d2fcd6b7934 drivers/firewire/core-card.c Takashi Sakamoto 2025-09-08 530 \t\treset_bus(card, card_gap_count != 0);\n" - "cbae787c0f288c drivers/firewire/fw-card.c Stefan Richter 2009-03-10 531 \t\t/* Will allocate broadcast channel after the reset. */\n" - "8c2d2fcd6b7934 drivers/firewire/core-card.c Takashi Sakamoto 2025-09-08 532 \t} else {\n" - "a4bac55d99d379 drivers/firewire/core-card.c Takashi Sakamoto 2025-09-08 533 \t\tstruct fw_device *root_device = fw_node_get_device(root_node);\n" - "a4bac55d99d379 drivers/firewire/core-card.c Takashi Sakamoto 2025-09-08 534 \n" - "a4bac55d99d379 drivers/firewire/core-card.c Takashi Sakamoto 2025-09-08 535 \t\tif (root_device && root_device->cmc) {\n" - "8c2d2fcd6b7934 drivers/firewire/core-card.c Takashi Sakamoto 2025-09-08 536 \t\t\t// Make sure that the cycle master sends cycle start packets.\n" - "b70a5f33381f78 drivers/firewire/core-card.c Takashi Sakamoto 2025-09-08 537 \t\t\t__be32 data = cpu_to_be32(CSR_STATE_BIT_CMSTR);\n" - "b70a5f33381f78 drivers/firewire/core-card.c Takashi Sakamoto 2025-09-08 538 \t\t\tint rcode = fw_run_transaction(card, TCODE_WRITE_QUADLET_REQUEST,\n" - "c374ab424249b6 drivers/firewire/core-card.c Clemens Ladisch 2010-06-10 539 \t\t\t\t\troot_id, generation, SCODE_100,\n" - "c374ab424249b6 drivers/firewire/core-card.c Clemens Ladisch 2010-06-10 540 \t\t\t\t\tCSR_REGISTER_BASE + CSR_STATE_SET,\n" - "b70a5f33381f78 drivers/firewire/core-card.c Takashi Sakamoto 2025-09-08 541 \t\t\t\t\t&data, sizeof(data));\n" - "c374ab424249b6 drivers/firewire/core-card.c Clemens Ladisch 2010-06-10 542 \t\t\tif (rcode == RCODE_GENERATION)\n" - "25feb1a96e21ae drivers/firewire/core-card.c Takashi Sakamoto 2025-09-08 543 \t\t\t\treturn;\n" - "c374ab424249b6 drivers/firewire/core-card.c Clemens Ladisch 2010-06-10 544 \t\t}\n" - "c374ab424249b6 drivers/firewire/core-card.c Clemens Ladisch 2010-06-10 545 \n" - "cbae787c0f288c drivers/firewire/fw-card.c Stefan Richter 2009-03-10 546 \t\tif (local_id == irm_id)\n" - "cbae787c0f288c drivers/firewire/fw-card.c Stefan Richter 2009-03-10 547 \t\t\tallocate_broadcast_channel(card, generation);\n" - "19a15b937b2663 drivers/firewire/fw-card.c Kristian H\303\270gsberg 2006-12-19 548 \t}\n" - "8c2d2fcd6b7934 drivers/firewire/core-card.c Takashi Sakamoto 2025-09-08 549 }\n" - "19a15b937b2663 drivers/firewire/fw-card.c Kristian H\303\270gsberg 2006-12-19 550 \n" "\n" "-- \n" "0-DAY CI Kernel Test Service\n" https://github.com/intel/lkp-tests/wiki -1ca2f6e50a1bfa9736fd244f78d94b7bb57e61a4baf7303eefb075ec6a12c734 +e6853318f7b53813927a4d8747ee91b08c068175b4b5fa7b94e1fc5901d631b6
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.