The US Navy didn’t fix the torpedo issue until around early 1943. But once that was fixed, the Navy went after Japanese shipping so aggressively that by the summer of 1945, the Navy essentially ran out of enemy merchant ships to attack! They spent the last days of World War II sinking the occasional ferry ship in the Seto Inland Sea.
The Navy was running so short of Japanese targets even in 1944 that when the USS Archerfish sank the brand new Japanese fleet carrier Shinano the US Navy refused to believe the claimed kill. The skipper, Captain Joseph Enright, was even threatened with reprimand if he didn’t retract his claims of sinking a carrier.
It was only after the war when the US gained access to the Japanese Navy records that they realized that Enright had sunk the largest carrier that had ever put to sea up to that time.