ahci: don't schedule unnecessary BH
authorJohn Snow <jsnow@redhat.com>
Fri, 8 Jun 2018 17:17:36 +0000 (13:17 -0400)
committerJohn Snow <jsnow@redhat.com>
Fri, 8 Jun 2018 17:17:36 +0000 (13:17 -0400)
The comment gives us a hint. *Maybe* we still have something to
process. Well, why not check?

Signed-off-by: John Snow <jsnow@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Jeff Cody <jcody@redhat.com>
Message-id: 20180531004323.4611-4-jsnow@redhat.com
Signed-off-by: John Snow <jsnow@redhat.com>
hw/ide/ahci.c

index b11640ddbb3cb8088e5736cabababa4cfa35934d..ac4bc1738b167be0f7cf3a844e9eba622caf6773 100644 (file)
@@ -1427,8 +1427,7 @@ static void ahci_cmd_done(IDEDMA *dma)
     /* update d2h status */
     ahci_write_fis_d2h(ad);
 
-    if (!ad->check_bh) {
-        /* maybe we still have something to process, check later */
+    if (ad->port_regs.cmd_issue && !ad->check_bh) {
         ad->check_bh = qemu_bh_new(ahci_check_cmd_bh, ad);
         qemu_bh_schedule(ad->check_bh);
     }