** Description changed:

  [Impact]
  The functional change is negligible - the primary goal here is to align our 
tree closer to upstream to make future backports cleaner (and therefore safer).
  
  We are currently carrying 61 SAUCE patches for the hns3 driver. All but
  6 of these have gone upstream in some form. In one case, the upstream
  patch corrected a mistake in the SAUCE counterpart:
  
  e22b531b5889d UBUNTU: SAUCE: {topost} net: hns3: modify hnae_ to hnae3_
  
  While it purports to just be a symbol rename, it also made the following
  change (the test_bit() addition), which I've verified with upstream is
  incorrect:
  
  @@ -2703,7 +2703,8 @@ static int hclge_reset_wait(struct hclge_dev *hdev)
-         }
-  
-         val = hclge_read_dev(&hdev->hw, reg);
+         }
+ 
+         val = hclge_read_dev(&hdev->hw, reg);
  -       while (hnae_get_bit(val, reg_bit) && cnt < HCLGE_RESET_WAIT_CNT) {
  +       while (hnae3_get_bit(val, reg_bit) && cnt < HCLGE_RESET_WAIT_CNT &&
  +              test_bit(HCLGE_STATE_RST_HANDLING, &hdev->state)) {
-                 msleep(HCLGE_RESET_WATI_MS);
-                 val = hclge_read_dev(&hdev->hw, reg);
-                 cnt++;
-  
+                 msleep(HCLGE_RESET_WATI_MS);
+                 val = hclge_read_dev(&hdev->hw, reg);
+                 cnt++;
  
  In addition, several of the patches have changed in non-functional ways
  (whitespace, comments, commit messages, etc). This will likely prevent
  future patches from cherry-picking cleanly and, in the case of commit
  messages, obfuscate which fixes we already have.
  
  [Test Case]
  1) git diff, to make sure delta after includes only the test_bit() correction 
and non-functional changes.
  2) Functional test on D06 hardware (the only impacted platform).
  
  [Fix]
  Revert all the SAUCE patches that have countparts upstream, and apply the 
upstream cherry-picks instead.
  
  [Regression Risk]
  The git diff from before and after this series clearly shows only the one 
correction and the various cosmetic changes.

** Summary changed:

- Replace hns3 SAUCE patches with upstream
+ Reconcile hns3 SAUCE patches with upstream

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/1787477

Title:
  Reconcile hns3 SAUCE patches with upstream

Status in linux package in Ubuntu:
  In Progress
Status in linux source package in Bionic:
  In Progress

Bug description:
  [Impact]
  The functional change is negligible - the primary goal here is to align our 
tree closer to upstream to make future backports cleaner (and therefore safer).

  We are currently carrying 61 SAUCE patches for the hns3 driver. 5 of
  these changes haven't been posted yet, 1 has been rejected, but the
  remaining have now all been merged.

  Functionally, the upstream patches differ from our SAUCE in 2 ways:

  1) In one case, the upstream patch corrected a mistake in the SAUCE
  counterpart:

  e22b531b5889d UBUNTU: SAUCE: {topost} net: hns3: modify hnae_ to
  hnae3_

  While it purports to just be a symbol rename, it also made the
  following change (the test_bit() addition), which I've verified with
  upstream is incorrect:

  @@ -2703,7 +2703,8 @@ static int hclge_reset_wait(struct hclge_dev *hdev)
          }

          val = hclge_read_dev(&hdev->hw, reg);
  -       while (hnae_get_bit(val, reg_bit) && cnt < HCLGE_RESET_WAIT_CNT) {
  +       while (hnae3_get_bit(val, reg_bit) && cnt < HCLGE_RESET_WAIT_CNT &&
  +              test_bit(HCLGE_STATE_RST_HANDLING, &hdev->state)) {
                  msleep(HCLGE_RESET_WATI_MS);
                  val = hclge_read_dev(&hdev->hw, reg);
                  cnt++;

  2) One patch was rejected for its performance impact, and Ubuntu
  should follow suit:

  c4a05b6f9f4b6 UBUNTU: SAUCE: {topost} net: hns3: using modulo for
  cyclic counters in hclge_cmd_send

  See: https://lore.kernel.org/patchwork/patch/957111/

  In addition, several of the patches have changed in non-functional
  ways (whitespace, comments, commit messages, etc). This will likely
  prevent future patches from cherry-picking cleanly and, in the case of
  commit messages, obfuscate which fixes we already have.

  [Test Case]
  1) git diff, to make sure delta after includes only the test_bit() 
correction, modulo removal, and non-functional changes.
  2) Functional test on D06 hardware (the only impacted platform).

  [Fix]
  Revert all the SAUCE patches that have counterparts upstream, and apply the 
upstream cherry-picks instead. Revert the rejected patch.

  [Regression Risk]
  The git diff from before and after this series clearly shows only the one 
correction, the one revert, and the various cosmetic changes.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1787477/+subscriptions

-- 
Mailing list: https://launchpad.net/~kernel-packages
Post to     : kernel-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kernel-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to