*                                                                           *
 \*****************************************************************************/
 
+static inline bool sdhci_data_line_cmd(struct mmc_command *cmd)
+{
+       return cmd->data || cmd->flags & MMC_RSP_BUSY;
+}
+
 static void sdhci_set_card_detection(struct sdhci_host *host, bool enable)
 {
        u32 present;
        u8 ctrl;
        struct mmc_data *data = cmd->data;
 
-       if (data || (cmd->flags & MMC_RSP_BUSY))
+       if (sdhci_data_line_cmd(cmd))
                sdhci_set_timeout(host, cmd);
 
        if (!data)
        timeout = 10;
 
        mask = SDHCI_CMD_INHIBIT;
-       if ((cmd->data != NULL) || (cmd->flags & MMC_RSP_BUSY))
+       if (sdhci_data_line_cmd(cmd))
                mask |= SDHCI_DATA_INHIBIT;
 
        /* We shouldn't wait for data inihibit for stop commands, even
        mod_timer(&host->timer, timeout);
 
        host->cmd = cmd;
-       if (cmd->data || cmd->flags & MMC_RSP_BUSY) {
+       if (sdhci_data_line_cmd(cmd)) {
                WARN_ON(host->data_cmd);
                host->data_cmd = cmd;
        }