]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/blobdiff - drivers/soundwire/cadence_master.c
erofs: fix up erofs_lookup tracepoint
[mirror_ubuntu-hirsute-kernel.git] / drivers / soundwire / cadence_master.c
index 9fa55164354a2245e0370d016fca8e2514e9a6b5..c6d421a4b91b665c8c366fbc2f8a51a3c6eb3b5d 100644 (file)
@@ -484,10 +484,10 @@ cdns_fill_msg_resp(struct sdw_cdns *cdns,
                if (!(cdns->response_buf[i] & CDNS_MCP_RESP_ACK)) {
                        no_ack = 1;
                        dev_dbg_ratelimited(cdns->dev, "Msg Ack not received\n");
-                       if (cdns->response_buf[i] & CDNS_MCP_RESP_NACK) {
-                               nack = 1;
-                               dev_err_ratelimited(cdns->dev, "Msg NACK received\n");
-                       }
+               }
+               if (cdns->response_buf[i] & CDNS_MCP_RESP_NACK) {
+                       nack = 1;
+                       dev_err_ratelimited(cdns->dev, "Msg NACK received\n");
                }
        }
 
@@ -1449,10 +1449,12 @@ int sdw_cdns_clock_stop(struct sdw_cdns *cdns, bool block_wake)
        }
 
        /* Prepare slaves for clock stop */
-       ret = sdw_bus_prep_clk_stop(&cdns->bus);
-       if (ret < 0) {
-               dev_err(cdns->dev, "prepare clock stop failed %d", ret);
-               return ret;
+       if (slave_present) {
+               ret = sdw_bus_prep_clk_stop(&cdns->bus);
+               if (ret < 0 && ret != -ENODATA) {
+                       dev_err(cdns->dev, "prepare clock stop failed %d\n", ret);
+                       return ret;
+               }
        }
 
        /*