staging: rts5208: Remove TRACE_RET and TRACE_GOTO macros
[firefly-linux-kernel-4.4.55.git] / drivers / staging / rts5208 / rtsx_scsi.c
index 98f102b78e6d6831740d6a8056432a0f1f09309a..8a5d6a8e780f3a63658083f19f3adb494ec574aa 100644 (file)
 #include <linux/vmalloc.h>
 
 #include "rtsx.h"
-#include "rtsx_transport.h"
-#include "rtsx_sys.h"
-#include "rtsx_card.h"
-#include "rtsx_chip.h"
-#include "rtsx_scsi.h"
 #include "sd.h"
 #include "ms.h"
 #include "spi.h"
@@ -512,8 +507,10 @@ static int inquiry(struct scsi_cmnd *srb, struct rtsx_chip *chip)
        }
 
        buf = vmalloc(scsi_bufflen(srb));
-       if (buf == NULL)
-               TRACE_RET(chip, TRANSPORT_ERROR);
+       if (buf == NULL) {
+               rtsx_trace(chip);
+               return TRANSPORT_ERROR;
+       }
 
 #ifdef SUPPORT_MAGIC_GATE
        if ((chip->mspro_formatter_enable) &&
@@ -587,12 +584,14 @@ static int start_stop_unit(struct scsi_cmnd *srb, struct rtsx_chip *chip)
                if (check_card_ready(chip, lun))
                        return TRANSPORT_GOOD;
                set_sense_type(chip, lun, SENSE_TYPE_MEDIA_NOT_PRESENT);
-               TRACE_RET(chip, TRANSPORT_FAILED);
+               rtsx_trace(chip);
+               return TRANSPORT_FAILED;
 
                break;
        }
 
-       TRACE_RET(chip, TRANSPORT_ERROR);
+       rtsx_trace(chip);
+       return TRANSPORT_ERROR;
 }
 
 
@@ -607,7 +606,8 @@ static int allow_medium_removal(struct scsi_cmnd *srb, struct rtsx_chip *chip)
        if (prevent) {
                set_sense_type(chip, SCSI_LUN(srb),
                        SENSE_TYPE_MEDIA_INVALID_CMD_FIELD);
-               TRACE_RET(chip, TRANSPORT_FAILED);
+               rtsx_trace(chip);
+               return TRANSPORT_FAILED;
        }
 
        return TRANSPORT_GOOD;
@@ -644,8 +644,10 @@ static int request_sense(struct scsi_cmnd *srb, struct rtsx_chip *chip)
        }
 
        buf = vmalloc(scsi_bufflen(srb));
-       if (buf == NULL)
-               TRACE_RET(chip, TRANSPORT_ERROR);
+       if (buf == NULL) {
+               rtsx_trace(chip);
+               return TRANSPORT_ERROR;
+       }
 
        tmp = (unsigned char *)sense;
        memcpy(buf, tmp, scsi_bufflen(srb));
@@ -765,7 +767,8 @@ static int mode_sense(struct scsi_cmnd *srb, struct rtsx_chip *chip)
        if (!check_card_ready(chip, lun)) {
                set_sense_type(chip, lun, SENSE_TYPE_MEDIA_NOT_PRESENT);
                scsi_set_resid(srb, scsi_bufflen(srb));
-               TRACE_RET(chip, TRANSPORT_FAILED);
+               rtsx_trace(chip);
+               return TRANSPORT_FAILED;
        }
 #endif
 
@@ -789,8 +792,10 @@ static int mode_sense(struct scsi_cmnd *srb, struct rtsx_chip *chip)
 #endif
 
        buf = kmalloc(dataSize, GFP_KERNEL);
-       if (buf == NULL)
-               TRACE_RET(chip, TRANSPORT_ERROR);
+       if (buf == NULL) {
+               rtsx_trace(chip);
+               return TRANSPORT_ERROR;
+       }
 
        pageCode = srb->cmnd[2] & 0x3f;
 
@@ -869,7 +874,8 @@ static int read_write(struct scsi_cmnd *srb, struct rtsx_chip *chip)
 
        if (!check_card_ready(chip, lun) || (get_card_size(chip, lun) == 0)) {
                set_sense_type(chip, lun, SENSE_TYPE_MEDIA_NOT_PRESENT);
-               TRACE_RET(chip, TRANSPORT_FAILED);
+               rtsx_trace(chip);
+               return TRANSPORT_FAILED;
        }
 
        if (!(CHK_BIT(chip->lun_mc, lun))) {
@@ -885,7 +891,8 @@ static int read_write(struct scsi_cmnd *srb, struct rtsx_chip *chip)
                 */
                dev_dbg(rtsx_dev(chip), "SD card being erased!\n");
                set_sense_type(chip, lun, SENSE_TYPE_MEDIA_READ_FORBIDDEN);
-               TRACE_RET(chip, TRANSPORT_FAILED);
+               rtsx_trace(chip);
+               return TRANSPORT_FAILED;
        }
 
        if (get_lun_card(chip, lun) == SD_CARD) {
@@ -893,7 +900,8 @@ static int read_write(struct scsi_cmnd *srb, struct rtsx_chip *chip)
                        dev_dbg(rtsx_dev(chip), "SD card locked!\n");
                        set_sense_type(chip, lun,
                                SENSE_TYPE_MEDIA_READ_FORBIDDEN);
-                       TRACE_RET(chip, TRANSPORT_FAILED);
+                       rtsx_trace(chip);
+                       return TRANSPORT_FAILED;
                }
        }
 #endif
@@ -916,7 +924,8 @@ static int read_write(struct scsi_cmnd *srb, struct rtsx_chip *chip)
                sec_cnt = ((u16)(srb->cmnd[9]) << 8) | srb->cmnd[10];
        } else {
                set_sense_type(chip, lun, SENSE_TYPE_MEDIA_INVALID_CMD_FIELD);
-               TRACE_RET(chip, TRANSPORT_FAILED);
+               rtsx_trace(chip);
+               return TRANSPORT_FAILED;
        }
 
        /* In some test, we will receive a start_sec like 0xFFFFFFFF.
@@ -926,7 +935,8 @@ static int read_write(struct scsi_cmnd *srb, struct rtsx_chip *chip)
        if ((start_sec > get_card_size(chip, lun)) ||
                        ((start_sec + sec_cnt) > get_card_size(chip, lun))) {
                set_sense_type(chip, lun, SENSE_TYPE_MEDIA_LBA_OVER_RANGE);
-               TRACE_RET(chip, TRANSPORT_FAILED);
+               rtsx_trace(chip);
+               return TRANSPORT_FAILED;
        }
 
        if (sec_cnt == 0) {
@@ -942,7 +952,8 @@ static int read_write(struct scsi_cmnd *srb, struct rtsx_chip *chip)
                else
                        set_sense_type(chip, lun, SENSE_TYPE_MEDIA_WRITE_ERR);
 
-               TRACE_RET(chip, TRANSPORT_FAILED);
+               rtsx_trace(chip);
+               return TRANSPORT_FAILED;
        }
 
        if (srb->sc_data_direction == DMA_TO_DEVICE) {
@@ -950,7 +961,8 @@ static int read_write(struct scsi_cmnd *srb, struct rtsx_chip *chip)
                        dev_dbg(rtsx_dev(chip), "Write protected card!\n");
                        set_sense_type(chip, lun,
                                SENSE_TYPE_MEDIA_WRITE_PROTECT);
-                       TRACE_RET(chip, TRANSPORT_FAILED);
+                       rtsx_trace(chip);
+                       return TRANSPORT_FAILED;
                }
        }
 
@@ -969,7 +981,8 @@ static int read_write(struct scsi_cmnd *srb, struct rtsx_chip *chip)
                                        SENSE_TYPE_MEDIA_WRITE_ERR);
                }
                retval = TRANSPORT_FAILED;
-               TRACE_GOTO(chip, Exit);
+               rtsx_trace(chip);
+               goto Exit;
        } else {
                chip->rw_fail_cnt[lun] = 0;
                retval = TRANSPORT_GOOD;
@@ -994,15 +1007,18 @@ static int read_format_capacity(struct scsi_cmnd *srb, struct rtsx_chip *chip)
        if (!check_card_ready(chip, lun)) {
                if (!chip->mspro_formatter_enable) {
                        set_sense_type(chip, lun, SENSE_TYPE_MEDIA_NOT_PRESENT);
-                       TRACE_RET(chip, TRANSPORT_FAILED);
+                       rtsx_trace(chip);
+                       return TRANSPORT_FAILED;
                }
        }
 
        buf_len = (scsi_bufflen(srb) > 12) ? 0x14 : 12;
 
        buf = kmalloc(buf_len, GFP_KERNEL);
-       if (buf == NULL)
-               TRACE_RET(chip, TRANSPORT_ERROR);
+       if (buf == NULL) {
+               rtsx_trace(chip);
+               return TRANSPORT_ERROR;
+       }
 
        buf[i++] = 0;
        buf[i++] = 0;
@@ -1067,7 +1083,8 @@ static int read_capacity(struct scsi_cmnd *srb, struct rtsx_chip *chip)
 
        if (!check_card_ready(chip, lun)) {
                set_sense_type(chip, lun, SENSE_TYPE_MEDIA_NOT_PRESENT);
-               TRACE_RET(chip, TRANSPORT_FAILED);
+               rtsx_trace(chip);
+               return TRANSPORT_FAILED;
        }
 
        if (!(CHK_BIT(chip->lun_mc, lun))) {
@@ -1077,8 +1094,10 @@ static int read_capacity(struct scsi_cmnd *srb, struct rtsx_chip *chip)
        }
 
        buf = kmalloc(8, GFP_KERNEL);
-       if (buf == NULL)
-               TRACE_RET(chip, TRANSPORT_ERROR);
+       if (buf == NULL) {
+               rtsx_trace(chip);
+               return TRANSPORT_ERROR;
+       }
 
        card_size = get_card_size(chip, lun);
        buf[0] = (unsigned char)((card_size - 1) >> 24);
@@ -1116,15 +1135,18 @@ static int read_eeprom(struct scsi_cmnd *srb, struct rtsx_chip *chip)
        len = ((u16)srb->cmnd[4] << 8) | srb->cmnd[5];
 
        buf = vmalloc(len);
-       if (!buf)
-               TRACE_RET(chip, TRANSPORT_ERROR);
+       if (!buf) {
+               rtsx_trace(chip);
+               return TRANSPORT_ERROR;
+       }
 
        retval = rtsx_force_power_on(chip, SSC_PDCTL);
        if (retval != STATUS_SUCCESS) {
                vfree(buf);
                set_sense_type(chip, SCSI_LUN(srb),
                        SENSE_TYPE_MEDIA_UNRECOVER_READ_ERR);
-               TRACE_RET(chip, TRANSPORT_FAILED);
+               rtsx_trace(chip);
+               return TRANSPORT_FAILED;
        }
 
        for (i = 0; i < len; i++) {
@@ -1133,7 +1155,8 @@ static int read_eeprom(struct scsi_cmnd *srb, struct rtsx_chip *chip)
                        vfree(buf);
                        set_sense_type(chip, SCSI_LUN(srb),
                                SENSE_TYPE_MEDIA_UNRECOVER_READ_ERR);
-                       TRACE_RET(chip, TRANSPORT_FAILED);
+                       rtsx_trace(chip);
+                       return TRANSPORT_FAILED;
                }
        }
 
@@ -1165,7 +1188,8 @@ static int write_eeprom(struct scsi_cmnd *srb, struct rtsx_chip *chip)
        retval = rtsx_force_power_on(chip, SSC_PDCTL);
        if (retval != STATUS_SUCCESS) {
                set_sense_type(chip, SCSI_LUN(srb), SENSE_TYPE_MEDIA_WRITE_ERR);
-               TRACE_RET(chip, TRANSPORT_FAILED);
+               rtsx_trace(chip);
+               return TRANSPORT_FAILED;
        }
 
        if (len == 511) {
@@ -1173,14 +1197,17 @@ static int write_eeprom(struct scsi_cmnd *srb, struct rtsx_chip *chip)
                if (retval != STATUS_SUCCESS) {
                        set_sense_type(chip, SCSI_LUN(srb),
                                SENSE_TYPE_MEDIA_WRITE_ERR);
-                       TRACE_RET(chip, TRANSPORT_FAILED);
+                       rtsx_trace(chip);
+                       return TRANSPORT_FAILED;
                }
        } else {
                len = (unsigned short)min_t(unsigned int, scsi_bufflen(srb),
                                        len);
                buf = vmalloc(len);
-               if (buf == NULL)
-                       TRACE_RET(chip, TRANSPORT_ERROR);
+               if (buf == NULL) {
+                       rtsx_trace(chip);
+                       return TRANSPORT_ERROR;
+               }
 
                rtsx_stor_get_xfer_buf(buf, len, srb);
                scsi_set_resid(srb, scsi_bufflen(srb) - len);
@@ -1191,7 +1218,8 @@ static int write_eeprom(struct scsi_cmnd *srb, struct rtsx_chip *chip)
                                vfree(buf);
                                set_sense_type(chip, SCSI_LUN(srb),
                                        SENSE_TYPE_MEDIA_WRITE_ERR);
-                               TRACE_RET(chip, TRANSPORT_FAILED);
+                               rtsx_trace(chip);
+                               return TRANSPORT_FAILED;
                        }
                }
 
@@ -1221,18 +1249,22 @@ static int read_mem(struct scsi_cmnd *srb, struct rtsx_chip *chip)
        if (addr < 0xFC00) {
                set_sense_type(chip, SCSI_LUN(srb),
                        SENSE_TYPE_MEDIA_INVALID_CMD_FIELD);
-               TRACE_RET(chip, TRANSPORT_FAILED);
+               rtsx_trace(chip);
+               return TRANSPORT_FAILED;
        }
 
        buf = vmalloc(len);
-       if (!buf)
-               TRACE_RET(chip, TRANSPORT_ERROR);
+       if (!buf) {
+               rtsx_trace(chip);
+               return TRANSPORT_ERROR;
+       }
 
        retval = rtsx_force_power_on(chip, SSC_PDCTL);
        if (retval != STATUS_SUCCESS) {
                vfree(buf);
                set_sense_type(chip, SCSI_LUN(srb), SENSE_TYPE_MEDIA_WRITE_ERR);
-               TRACE_RET(chip, TRANSPORT_FAILED);
+               rtsx_trace(chip);
+               return TRANSPORT_FAILED;
        }
 
        for (i = 0; i < len; i++) {
@@ -1241,7 +1273,8 @@ static int read_mem(struct scsi_cmnd *srb, struct rtsx_chip *chip)
                        vfree(buf);
                        set_sense_type(chip, SCSI_LUN(srb),
                                SENSE_TYPE_MEDIA_UNRECOVER_READ_ERR);
-                       TRACE_RET(chip, TRANSPORT_FAILED);
+                       rtsx_trace(chip);
+                       return TRANSPORT_FAILED;
                }
        }
 
@@ -1274,13 +1307,16 @@ static int write_mem(struct scsi_cmnd *srb, struct rtsx_chip *chip)
        if (addr < 0xFC00) {
                set_sense_type(chip, SCSI_LUN(srb),
                        SENSE_TYPE_MEDIA_INVALID_CMD_FIELD);
-               TRACE_RET(chip, TRANSPORT_FAILED);
+               rtsx_trace(chip);
+               return TRANSPORT_FAILED;
        }
 
        len = (unsigned short)min_t(unsigned int, scsi_bufflen(srb), len);
        buf = vmalloc(len);
-       if (buf == NULL)
-               TRACE_RET(chip, TRANSPORT_ERROR);
+       if (buf == NULL) {
+               rtsx_trace(chip);
+               return TRANSPORT_ERROR;
+       }
 
        rtsx_stor_get_xfer_buf(buf, len, srb);
        scsi_set_resid(srb, scsi_bufflen(srb) - len);
@@ -1289,7 +1325,8 @@ static int write_mem(struct scsi_cmnd *srb, struct rtsx_chip *chip)
        if (retval != STATUS_SUCCESS) {
                vfree(buf);
                set_sense_type(chip, SCSI_LUN(srb), SENSE_TYPE_MEDIA_WRITE_ERR);
-               TRACE_RET(chip, TRANSPORT_FAILED);
+               rtsx_trace(chip);
+               return TRANSPORT_FAILED;
        }
 
        for (i = 0; i < len; i++) {
@@ -1298,7 +1335,8 @@ static int write_mem(struct scsi_cmnd *srb, struct rtsx_chip *chip)
                        vfree(buf);
                        set_sense_type(chip, SCSI_LUN(srb),
                                SENSE_TYPE_MEDIA_WRITE_ERR);
-                       TRACE_RET(chip, TRANSPORT_FAILED);
+                       rtsx_trace(chip);
+                       return TRANSPORT_FAILED;
                }
        }
 
@@ -1314,12 +1352,14 @@ static int get_sd_csd(struct scsi_cmnd *srb, struct rtsx_chip *chip)
 
        if (!check_card_ready(chip, lun)) {
                set_sense_type(chip, lun, SENSE_TYPE_MEDIA_NOT_PRESENT);
-               TRACE_RET(chip, TRANSPORT_FAILED);
+               rtsx_trace(chip);
+               return TRANSPORT_FAILED;
        }
 
        if (get_lun_card(chip, lun) != SD_CARD) {
                set_sense_type(chip, lun, SENSE_TYPE_MEDIA_UNRECOVER_READ_ERR);
-               TRACE_RET(chip, TRANSPORT_FAILED);
+               rtsx_trace(chip);
+               return TRANSPORT_FAILED;
        }
 
        scsi_set_resid(srb, 0);
@@ -1361,14 +1401,17 @@ static int trace_msg_cmd(struct scsi_cmnd *srb, struct rtsx_chip *chip)
        if ((scsi_bufflen(srb) < buf_len) || (scsi_sglist(srb) == NULL)) {
                set_sense_type(chip, SCSI_LUN(srb),
                        SENSE_TYPE_MEDIA_UNRECOVER_READ_ERR);
-               TRACE_RET(chip, TRANSPORT_FAILED);
+               rtsx_trace(chip);
+               return TRANSPORT_FAILED;
        }
 
        clear = srb->cmnd[2];
 
        buf = vmalloc(scsi_bufflen(srb));
-       if (buf == NULL)
-               TRACE_RET(chip, TRANSPORT_ERROR);
+       if (buf == NULL) {
+               rtsx_trace(chip);
+               return TRANSPORT_ERROR;
+       }
        ptr = buf;
 
        if (chip->trace_msg[chip->msg_idx].valid)
@@ -1500,7 +1543,8 @@ static int set_variable(struct scsi_cmnd *srb, struct rtsx_chip *chip)
                default:
                        set_sense_type(chip, lun,
                                SENSE_TYPE_MEDIA_INVALID_CMD_FIELD);
-                       TRACE_RET(chip, TRANSPORT_FAILED);
+                       rtsx_trace(chip);
+                       return TRANSPORT_FAILED;
                }
        } else if (srb->cmnd[3] == 2) {
                if (srb->cmnd[4]) {
@@ -1523,14 +1567,16 @@ static int set_variable(struct scsi_cmnd *srb, struct rtsx_chip *chip)
                        if (retval != STATUS_SUCCESS) {
                                set_sense_type(chip, SCSI_LUN(srb),
                                        SENSE_TYPE_MEDIA_WRITE_ERR);
-                               TRACE_RET(chip, TRANSPORT_FAILED);
+                               rtsx_trace(chip);
+                               return TRANSPORT_FAILED;
                        }
 
                        turn_off_led(chip, LED_GPIO);
                }
        } else {
                set_sense_type(chip, lun, SENSE_TYPE_MEDIA_INVALID_CMD_FIELD);
-               TRACE_RET(chip, TRANSPORT_FAILED);
+               rtsx_trace(chip);
+               return TRANSPORT_FAILED;
        }
 
        return TRANSPORT_GOOD;
@@ -1562,7 +1608,8 @@ static int get_variable(struct scsi_cmnd *srb, struct rtsx_chip *chip)
                default:
                        set_sense_type(chip, lun,
                                SENSE_TYPE_MEDIA_INVALID_CMD_FIELD);
-                       TRACE_RET(chip, TRANSPORT_FAILED);
+                       rtsx_trace(chip);
+                       return TRANSPORT_FAILED;
                }
 
                rtsx_stor_set_xfer_buf(&tmp, 1, srb);
@@ -1572,7 +1619,8 @@ static int get_variable(struct scsi_cmnd *srb, struct rtsx_chip *chip)
                rtsx_stor_set_xfer_buf(&tmp, 1, srb);
        } else {
                set_sense_type(chip, lun, SENSE_TYPE_MEDIA_INVALID_CMD_FIELD);
-               TRACE_RET(chip, TRANSPORT_FAILED);
+               rtsx_trace(chip);
+               return TRANSPORT_FAILED;
        }
 
        return TRANSPORT_GOOD;
@@ -1610,7 +1658,8 @@ static int dma_access_ring_buffer(struct scsi_cmnd *srb, struct rtsx_chip *chip)
                        set_sense_type(chip, lun,
                                SENSE_TYPE_MEDIA_WRITE_ERR);
 
-               TRACE_RET(chip, TRANSPORT_FAILED);
+               rtsx_trace(chip);
+               return TRANSPORT_FAILED;
        }
        scsi_set_resid(srb, 0);
 
@@ -1757,7 +1806,8 @@ static int set_chip_mode(struct scsi_cmnd *srb, struct rtsx_chip *chip)
        if (!CHECK_PID(chip, 0x5208)) {
                set_sense_type(chip, SCSI_LUN(srb),
                        SENSE_TYPE_MEDIA_INVALID_CMD_FIELD);
-               TRACE_RET(chip, TRANSPORT_FAILED);
+               rtsx_trace(chip);
+               return TRANSPORT_FAILED;
        }
 
        phy_debug_mode = (int)(srb->cmnd[3]);
@@ -1765,35 +1815,47 @@ static int set_chip_mode(struct scsi_cmnd *srb, struct rtsx_chip *chip)
        if (phy_debug_mode) {
                chip->phy_debug_mode = 1;
                retval = rtsx_write_register(chip, CDRESUMECTL, 0x77, 0);
-               if (retval != STATUS_SUCCESS)
-                       TRACE_RET(chip, TRANSPORT_FAILED);
+               if (retval != STATUS_SUCCESS) {
+                       rtsx_trace(chip);
+                       return TRANSPORT_FAILED;
+               }
 
                rtsx_disable_bus_int(chip);
 
                retval = rtsx_read_phy_register(chip, 0x1C, &reg);
-               if (retval != STATUS_SUCCESS)
-                       TRACE_RET(chip, TRANSPORT_FAILED);
+               if (retval != STATUS_SUCCESS) {
+                       rtsx_trace(chip);
+                       return TRANSPORT_FAILED;
+               }
 
                reg |= 0x0001;
                retval = rtsx_write_phy_register(chip, 0x1C, reg);
-               if (retval != STATUS_SUCCESS)
-                       TRACE_RET(chip, TRANSPORT_FAILED);
+               if (retval != STATUS_SUCCESS) {
+                       rtsx_trace(chip);
+                       return TRANSPORT_FAILED;
+               }
        } else {
                chip->phy_debug_mode = 0;
                retval = rtsx_write_register(chip, CDRESUMECTL, 0x77, 0x77);
-               if (retval != STATUS_SUCCESS)
-                       TRACE_RET(chip, TRANSPORT_FAILED);
+               if (retval != STATUS_SUCCESS) {
+                       rtsx_trace(chip);
+                       return TRANSPORT_FAILED;
+               }
 
                rtsx_enable_bus_int(chip);
 
                retval = rtsx_read_phy_register(chip, 0x1C, &reg);
-               if (retval != STATUS_SUCCESS)
-                       TRACE_RET(chip, TRANSPORT_FAILED);
+               if (retval != STATUS_SUCCESS) {
+                       rtsx_trace(chip);
+                       return TRANSPORT_FAILED;
+               }
 
                reg &= 0xFFFE;
                retval = rtsx_write_phy_register(chip, 0x1C, reg);
-               if (retval != STATUS_SUCCESS)
-                       TRACE_RET(chip, TRANSPORT_FAILED);
+               if (retval != STATUS_SUCCESS) {
+                       rtsx_trace(chip);
+                       return TRANSPORT_FAILED;
+               }
        }
 
        return TRANSPORT_GOOD;
@@ -1824,7 +1886,8 @@ static int rw_mem_cmd_buf(struct scsi_cmnd *srb, struct rtsx_chip *chip)
                if (cmd_type > 2) {
                        set_sense_type(chip, lun,
                                SENSE_TYPE_MEDIA_INVALID_CMD_FIELD);
-                       TRACE_RET(chip, TRANSPORT_FAILED);
+                       rtsx_trace(chip);
+                       return TRANSPORT_FAILED;
                }
                addr = (srb->cmnd[5] << 8) | srb->cmnd[6];
                mask = srb->cmnd[7];
@@ -1842,7 +1905,8 @@ static int rw_mem_cmd_buf(struct scsi_cmnd *srb, struct rtsx_chip *chip)
                if (scsi_bufflen(srb) < 1) {
                        set_sense_type(chip, lun,
                                SENSE_TYPE_MEDIA_INVALID_CMD_FIELD);
-                       TRACE_RET(chip, TRANSPORT_FAILED);
+                       rtsx_trace(chip);
+                       return TRANSPORT_FAILED;
                }
                rtsx_stor_set_xfer_buf(&value, 1, srb);
                scsi_set_resid(srb, 0);
@@ -1850,12 +1914,14 @@ static int rw_mem_cmd_buf(struct scsi_cmnd *srb, struct rtsx_chip *chip)
 
        default:
                set_sense_type(chip, lun, SENSE_TYPE_MEDIA_INVALID_CMD_FIELD);
-               TRACE_RET(chip, TRANSPORT_FAILED);
+               rtsx_trace(chip);
+               return TRANSPORT_FAILED;
        }
 
        if (retval != STATUS_SUCCESS) {
                set_sense_type(chip, lun, SENSE_TYPE_MEDIA_WRITE_ERR);
-               TRACE_RET(chip, TRANSPORT_FAILED);
+               rtsx_trace(chip);
+               return TRANSPORT_FAILED;
        }
 
        return TRANSPORT_GOOD;
@@ -1902,15 +1968,18 @@ static int read_phy_register(struct scsi_cmnd *srb, struct rtsx_chip *chip)
 
        if (len) {
                buf = vmalloc(len);
-               if (!buf)
-                       TRACE_RET(chip, TRANSPORT_ERROR);
+               if (!buf) {
+                       rtsx_trace(chip);
+                       return TRANSPORT_ERROR;
+               }
 
                retval = rtsx_force_power_on(chip, SSC_PDCTL);
                if (retval != STATUS_SUCCESS) {
                        vfree(buf);
                        set_sense_type(chip, SCSI_LUN(srb),
                                SENSE_TYPE_MEDIA_UNRECOVER_READ_ERR);
-                       TRACE_RET(chip, TRANSPORT_FAILED);
+                       rtsx_trace(chip);
+                       return TRANSPORT_FAILED;
                }
 
                for (i = 0; i < len / 2; i++) {
@@ -1919,7 +1988,8 @@ static int read_phy_register(struct scsi_cmnd *srb, struct rtsx_chip *chip)
                                vfree(buf);
                                set_sense_type(chip, SCSI_LUN(srb),
                                        SENSE_TYPE_MEDIA_UNRECOVER_READ_ERR);
-                               TRACE_RET(chip, TRANSPORT_FAILED);
+                               rtsx_trace(chip);
+                               return TRANSPORT_FAILED;
                        }
 
                        buf[2*i] = (u8)(val >> 8);
@@ -1963,8 +2033,10 @@ static int write_phy_register(struct scsi_cmnd *srb, struct rtsx_chip *chip)
                                        len);
 
                buf = vmalloc(len);
-               if (buf == NULL)
-                       TRACE_RET(chip, TRANSPORT_ERROR);
+               if (buf == NULL) {
+                       rtsx_trace(chip);
+                       return TRANSPORT_ERROR;
+               }
 
                rtsx_stor_get_xfer_buf(buf, len, srb);
                scsi_set_resid(srb, scsi_bufflen(srb) - len);
@@ -1974,7 +2046,8 @@ static int write_phy_register(struct scsi_cmnd *srb, struct rtsx_chip *chip)
                        vfree(buf);
                        set_sense_type(chip, SCSI_LUN(srb),
                                SENSE_TYPE_MEDIA_WRITE_ERR);
-                       TRACE_RET(chip, TRANSPORT_FAILED);
+                       rtsx_trace(chip);
+                       return TRANSPORT_FAILED;
                }
 
                for (i = 0; i < len / 2; i++) {
@@ -1984,7 +2057,8 @@ static int write_phy_register(struct scsi_cmnd *srb, struct rtsx_chip *chip)
                                vfree(buf);
                                set_sense_type(chip, SCSI_LUN(srb),
                                        SENSE_TYPE_MEDIA_WRITE_ERR);
-                               TRACE_RET(chip, TRANSPORT_FAILED);
+                               rtsx_trace(chip);
+                               return TRANSPORT_FAILED;
                        }
                }
 
@@ -2011,7 +2085,8 @@ static int erase_eeprom2(struct scsi_cmnd *srb, struct rtsx_chip *chip)
        retval = rtsx_force_power_on(chip, SSC_PDCTL);
        if (retval != STATUS_SUCCESS) {
                set_sense_type(chip, SCSI_LUN(srb), SENSE_TYPE_MEDIA_WRITE_ERR);
-               TRACE_RET(chip, TRANSPORT_FAILED);
+               rtsx_trace(chip);
+               return TRANSPORT_FAILED;
        }
 
        mode = srb->cmnd[3];
@@ -2022,19 +2097,22 @@ static int erase_eeprom2(struct scsi_cmnd *srb, struct rtsx_chip *chip)
                if (retval != STATUS_SUCCESS) {
                        set_sense_type(chip, SCSI_LUN(srb),
                                SENSE_TYPE_MEDIA_WRITE_ERR);
-                       TRACE_RET(chip, TRANSPORT_FAILED);
+                       rtsx_trace(chip);
+                       return TRANSPORT_FAILED;
                }
        } else if (mode == 1) {
                retval = spi_erase_eeprom_byte(chip, addr);
                if (retval != STATUS_SUCCESS) {
                        set_sense_type(chip, SCSI_LUN(srb),
                                SENSE_TYPE_MEDIA_WRITE_ERR);
-                       TRACE_RET(chip, TRANSPORT_FAILED);
+                       rtsx_trace(chip);
+                       return TRANSPORT_FAILED;
                }
        } else {
                set_sense_type(chip, SCSI_LUN(srb),
                        SENSE_TYPE_MEDIA_INVALID_CMD_FIELD);
-               TRACE_RET(chip, TRANSPORT_FAILED);
+               rtsx_trace(chip);
+               return TRANSPORT_FAILED;
        }
 
        return TRANSPORT_GOOD;
@@ -2058,15 +2136,18 @@ static int read_eeprom2(struct scsi_cmnd *srb, struct rtsx_chip *chip)
        len = ((u16)srb->cmnd[6] << 8) | srb->cmnd[7];
 
        buf = vmalloc(len);
-       if (!buf)
-               TRACE_RET(chip, TRANSPORT_ERROR);
+       if (!buf) {
+               rtsx_trace(chip);
+               return TRANSPORT_ERROR;
+       }
 
        retval = rtsx_force_power_on(chip, SSC_PDCTL);
        if (retval != STATUS_SUCCESS) {
                vfree(buf);
                set_sense_type(chip, SCSI_LUN(srb),
                        SENSE_TYPE_MEDIA_UNRECOVER_READ_ERR);
-               TRACE_RET(chip, TRANSPORT_FAILED);
+               rtsx_trace(chip);
+               return TRANSPORT_FAILED;
        }
 
        for (i = 0; i < len; i++) {
@@ -2075,7 +2156,8 @@ static int read_eeprom2(struct scsi_cmnd *srb, struct rtsx_chip *chip)
                        vfree(buf);
                        set_sense_type(chip, SCSI_LUN(srb),
                                SENSE_TYPE_MEDIA_UNRECOVER_READ_ERR);
-                       TRACE_RET(chip, TRANSPORT_FAILED);
+                       rtsx_trace(chip);
+                       return TRANSPORT_FAILED;
                }
        }
 
@@ -2107,8 +2189,10 @@ static int write_eeprom2(struct scsi_cmnd *srb, struct rtsx_chip *chip)
 
        len = (unsigned short)min_t(unsigned int, scsi_bufflen(srb), len);
        buf = vmalloc(len);
-       if (buf == NULL)
-               TRACE_RET(chip, TRANSPORT_ERROR);
+       if (buf == NULL) {
+               rtsx_trace(chip);
+               return TRANSPORT_ERROR;
+       }
 
        rtsx_stor_get_xfer_buf(buf, len, srb);
        scsi_set_resid(srb, scsi_bufflen(srb) - len);
@@ -2117,7 +2201,8 @@ static int write_eeprom2(struct scsi_cmnd *srb, struct rtsx_chip *chip)
        if (retval != STATUS_SUCCESS) {
                vfree(buf);
                set_sense_type(chip, SCSI_LUN(srb), SENSE_TYPE_MEDIA_WRITE_ERR);
-               TRACE_RET(chip, TRANSPORT_FAILED);
+               rtsx_trace(chip);
+               return TRANSPORT_FAILED;
        }
 
        for (i = 0; i < len; i++) {
@@ -2126,7 +2211,8 @@ static int write_eeprom2(struct scsi_cmnd *srb, struct rtsx_chip *chip)
                        vfree(buf);
                        set_sense_type(chip, SCSI_LUN(srb),
                                SENSE_TYPE_MEDIA_WRITE_ERR);
-                       TRACE_RET(chip, TRANSPORT_FAILED);
+                       rtsx_trace(chip);
+                       return TRANSPORT_FAILED;
                }
        }
 
@@ -2153,15 +2239,18 @@ static int read_efuse(struct scsi_cmnd *srb, struct rtsx_chip *chip)
        len = srb->cmnd[5];
 
        buf = vmalloc(len);
-       if (!buf)
-               TRACE_RET(chip, TRANSPORT_ERROR);
+       if (!buf) {
+               rtsx_trace(chip);
+               return TRANSPORT_ERROR;
+       }
 
        retval = rtsx_force_power_on(chip, SSC_PDCTL);
        if (retval != STATUS_SUCCESS) {
                vfree(buf);
                set_sense_type(chip, SCSI_LUN(srb),
                        SENSE_TYPE_MEDIA_UNRECOVER_READ_ERR);
-               TRACE_RET(chip, TRANSPORT_FAILED);
+               rtsx_trace(chip);
+               return TRANSPORT_FAILED;
        }
 
        for (i = 0; i < len; i++) {
@@ -2170,7 +2259,8 @@ static int read_efuse(struct scsi_cmnd *srb, struct rtsx_chip *chip)
                        vfree(buf);
                        set_sense_type(chip, SCSI_LUN(srb),
                                SENSE_TYPE_MEDIA_UNRECOVER_READ_ERR);
-                       TRACE_RET(chip, TRANSPORT_FAILED);
+                       rtsx_trace(chip);
+                       return TRANSPORT_FAILED;
                }
        }
 
@@ -2203,8 +2293,10 @@ static int write_efuse(struct scsi_cmnd *srb, struct rtsx_chip *chip)
 
        len = (u8)min_t(unsigned int, scsi_bufflen(srb), len);
        buf = vmalloc(len);
-       if (buf == NULL)
-               TRACE_RET(chip, TRANSPORT_ERROR);
+       if (buf == NULL) {
+               rtsx_trace(chip);
+               return TRANSPORT_ERROR;
+       }
 
        rtsx_stor_get_xfer_buf(buf, len, srb);
        scsi_set_resid(srb, scsi_bufflen(srb) - len);
@@ -2212,21 +2304,24 @@ static int write_efuse(struct scsi_cmnd *srb, struct rtsx_chip *chip)
        retval = rtsx_force_power_on(chip, SSC_PDCTL);
        if (retval != STATUS_SUCCESS) {
                vfree(buf);
-               TRACE_RET(chip, TRANSPORT_ERROR);
+               rtsx_trace(chip);
+               return TRANSPORT_ERROR;
        }
 
        if (chip->asic_code) {
                retval = rtsx_read_phy_register(chip, 0x08, &val);
                if (retval != STATUS_SUCCESS) {
                        vfree(buf);
-                       TRACE_RET(chip, TRANSPORT_ERROR);
+                       rtsx_trace(chip);
+                       return TRANSPORT_ERROR;
                }
 
                retval = rtsx_write_register(chip, PWR_GATE_CTRL,
                                        LDO3318_PWR_MASK, LDO_OFF);
                if (retval != STATUS_SUCCESS) {
                        vfree(buf);
-                       TRACE_RET(chip, TRANSPORT_ERROR);
+                       rtsx_trace(chip);
+                       return TRANSPORT_ERROR;
                }
 
                wait_timeout(600);
@@ -2235,14 +2330,16 @@ static int write_efuse(struct scsi_cmnd *srb, struct rtsx_chip *chip)
                                                0x4C00 | chip->phy_voltage);
                if (retval != STATUS_SUCCESS) {
                        vfree(buf);
-                       TRACE_RET(chip, TRANSPORT_ERROR);
+                       rtsx_trace(chip);
+                       return TRANSPORT_ERROR;
                }
 
                retval = rtsx_write_register(chip, PWR_GATE_CTRL,
                                        LDO3318_PWR_MASK, LDO_ON);
                if (retval != STATUS_SUCCESS) {
                        vfree(buf);
-                       TRACE_RET(chip, TRANSPORT_ERROR);
+                       rtsx_trace(chip);
+                       return TRANSPORT_ERROR;
                }
 
                wait_timeout(600);
@@ -2251,7 +2348,8 @@ static int write_efuse(struct scsi_cmnd *srb, struct rtsx_chip *chip)
        retval = card_power_on(chip, SPI_CARD);
        if (retval != STATUS_SUCCESS) {
                vfree(buf);
-               TRACE_RET(chip, TRANSPORT_ERROR);
+               rtsx_trace(chip);
+               return TRANSPORT_ERROR;
        }
 
        wait_timeout(50);
@@ -2262,7 +2360,8 @@ static int write_efuse(struct scsi_cmnd *srb, struct rtsx_chip *chip)
                        set_sense_type(chip, SCSI_LUN(srb),
                                SENSE_TYPE_MEDIA_WRITE_ERR);
                        result = TRANSPORT_FAILED;
-                       TRACE_GOTO(chip, Exit);
+                       rtsx_trace(chip);
+                       goto Exit;
                }
        }
 
@@ -2270,25 +2369,33 @@ Exit:
        vfree(buf);
 
        retval = card_power_off(chip, SPI_CARD);
-       if (retval != STATUS_SUCCESS)
-               TRACE_RET(chip, TRANSPORT_ERROR);
+       if (retval != STATUS_SUCCESS) {
+               rtsx_trace(chip);
+               return TRANSPORT_ERROR;
+       }
 
        if (chip->asic_code) {
                retval = rtsx_write_register(chip, PWR_GATE_CTRL,
                                        LDO3318_PWR_MASK, LDO_OFF);
-               if (retval != STATUS_SUCCESS)
-                       TRACE_RET(chip, TRANSPORT_ERROR);
+               if (retval != STATUS_SUCCESS) {
+                       rtsx_trace(chip);
+                       return TRANSPORT_ERROR;
+               }
 
                wait_timeout(600);
 
                retval = rtsx_write_phy_register(chip, 0x08, val);
-               if (retval != STATUS_SUCCESS)
-                       TRACE_RET(chip, TRANSPORT_ERROR);
+               if (retval != STATUS_SUCCESS) {
+                       rtsx_trace(chip);
+                       return TRANSPORT_ERROR;
+               }
 
                retval = rtsx_write_register(chip, PWR_GATE_CTRL,
                                        LDO3318_PWR_MASK, LDO_ON);
-               if (retval != STATUS_SUCCESS)
-                       TRACE_RET(chip, TRANSPORT_ERROR);
+               if (retval != STATUS_SUCCESS) {
+                       rtsx_trace(chip);
+                       return TRANSPORT_ERROR;
+               }
        }
 
        return result;
@@ -2325,19 +2432,23 @@ static int read_cfg_byte(struct scsi_cmnd *srb, struct rtsx_chip *chip)
        if (func > func_max) {
                set_sense_type(chip, SCSI_LUN(srb),
                        SENSE_TYPE_MEDIA_INVALID_CMD_FIELD);
-               TRACE_RET(chip, TRANSPORT_FAILED);
+               rtsx_trace(chip);
+               return TRANSPORT_FAILED;
        }
 
        buf = vmalloc(len);
-       if (!buf)
-               TRACE_RET(chip, TRANSPORT_ERROR);
+       if (!buf) {
+               rtsx_trace(chip);
+               return TRANSPORT_ERROR;
+       }
 
        retval = rtsx_read_cfg_seq(chip, func, addr, buf, len);
        if (retval != STATUS_SUCCESS) {
                set_sense_type(chip, SCSI_LUN(srb),
                        SENSE_TYPE_MEDIA_UNRECOVER_READ_ERR);
                vfree(buf);
-               TRACE_RET(chip, TRANSPORT_FAILED);
+               rtsx_trace(chip);
+               return TRANSPORT_FAILED;
        }
 
        len = (u16)min_t(unsigned int, scsi_bufflen(srb), len);
@@ -2380,13 +2491,16 @@ static int write_cfg_byte(struct scsi_cmnd *srb, struct rtsx_chip *chip)
        if (func > func_max) {
                set_sense_type(chip, SCSI_LUN(srb),
                        SENSE_TYPE_MEDIA_INVALID_CMD_FIELD);
-               TRACE_RET(chip, TRANSPORT_FAILED);
+               rtsx_trace(chip);
+               return TRANSPORT_FAILED;
        }
 
        len = (unsigned short)min_t(unsigned int, scsi_bufflen(srb), len);
        buf = vmalloc(len);
-       if (!buf)
-               TRACE_RET(chip, TRANSPORT_ERROR);
+       if (!buf) {
+               rtsx_trace(chip);
+               return TRANSPORT_ERROR;
+       }
 
        rtsx_stor_get_xfer_buf(buf, len, srb);
        scsi_set_resid(srb, scsi_bufflen(srb) - len);
@@ -2395,7 +2509,8 @@ static int write_cfg_byte(struct scsi_cmnd *srb, struct rtsx_chip *chip)
        if (retval != STATUS_SUCCESS) {
                set_sense_type(chip, SCSI_LUN(srb), SENSE_TYPE_MEDIA_WRITE_ERR);
                vfree(buf);
-               TRACE_RET(chip, TRANSPORT_FAILED);
+               rtsx_trace(chip);
+               return TRANSPORT_FAILED;
        }
 
        vfree(buf);
@@ -2485,7 +2600,8 @@ static int app_cmd(struct scsi_cmnd *srb, struct rtsx_chip *chip)
        default:
                set_sense_type(chip, SCSI_LUN(srb),
                        SENSE_TYPE_MEDIA_INVALID_CMD_FIELD);
-               TRACE_RET(chip, TRANSPORT_FAILED);
+               rtsx_trace(chip);
+               return TRANSPORT_FAILED;
        }
 
        return result;
@@ -2628,7 +2744,8 @@ static int get_card_bus_width(struct scsi_cmnd *srb, struct rtsx_chip *chip)
 
        if (!check_card_ready(chip, lun)) {
                set_sense_type(chip, lun, SENSE_TYPE_MEDIA_NOT_PRESENT);
-               TRACE_RET(chip, TRANSPORT_FAILED);
+               rtsx_trace(chip);
+               return TRANSPORT_FAILED;
        }
 
        card = get_lun_card(chip, lun);
@@ -2636,7 +2753,8 @@ static int get_card_bus_width(struct scsi_cmnd *srb, struct rtsx_chip *chip)
                bus_width = chip->card_bus_width[lun];
        } else {
                set_sense_type(chip, lun, SENSE_TYPE_MEDIA_UNRECOVER_READ_ERR);
-               TRACE_RET(chip, TRANSPORT_FAILED);
+               rtsx_trace(chip);
+               return TRANSPORT_FAILED;
        }
 
        scsi_set_resid(srb, 0);
@@ -2653,7 +2771,8 @@ static int spi_vendor_cmd(struct scsi_cmnd *srb, struct rtsx_chip *chip)
 
        if (CHECK_PID(chip, 0x5208) || CHECK_PID(chip, 0x5288)) {
                set_sense_type(chip, lun, SENSE_TYPE_MEDIA_INVALID_CMD_FIELD);
-               TRACE_RET(chip, TRANSPORT_FAILED);
+               rtsx_trace(chip);
+               return TRANSPORT_FAILED;
        }
 
        rtsx_disable_aspm(chip);
@@ -2702,13 +2821,16 @@ static int spi_vendor_cmd(struct scsi_cmnd *srb, struct rtsx_chip *chip)
                rtsx_write_register(chip, CARD_GPIO_DIR, 0x07, gpio_dir);
 
                set_sense_type(chip, lun, SENSE_TYPE_MEDIA_INVALID_CMD_FIELD);
-               TRACE_RET(chip, TRANSPORT_FAILED);
+               rtsx_trace(chip);
+               return TRANSPORT_FAILED;
        }
 
        rtsx_write_register(chip, CARD_GPIO_DIR, 0x07, gpio_dir);
 
-       if (result != STATUS_SUCCESS)
-               TRACE_RET(chip, TRANSPORT_FAILED);
+       if (result != STATUS_SUCCESS) {
+               rtsx_trace(chip);
+               return TRANSPORT_FAILED;
+       }
 
        return TRANSPORT_GOOD;
 }
@@ -2767,7 +2889,8 @@ static int vendor_cmnd(struct scsi_cmnd *srb, struct rtsx_chip *chip)
        default:
                set_sense_type(chip, SCSI_LUN(srb),
                        SENSE_TYPE_MEDIA_INVALID_CMD_FIELD);
-               TRACE_RET(chip, TRANSPORT_FAILED);
+               rtsx_trace(chip);
+               return TRANSPORT_FAILED;
        }
 
        return result;
@@ -2804,14 +2927,16 @@ static int ms_format_cmnd(struct scsi_cmnd *srb, struct rtsx_chip *chip)
 
        if (get_lun_card(chip, lun) != MS_CARD) {
                set_sense_type(chip, lun, SENSE_TYPE_MEDIA_LUN_NOT_SUPPORT);
-               TRACE_RET(chip, TRANSPORT_FAILED);
+               rtsx_trace(chip);
+               return TRANSPORT_FAILED;
        }
 
        if ((srb->cmnd[3] != 0x4D) || (srb->cmnd[4] != 0x47) ||
                (srb->cmnd[5] != 0x66) || (srb->cmnd[6] != 0x6D) ||
                (srb->cmnd[7] != 0x74)) {
                set_sense_type(chip, lun, SENSE_TYPE_MEDIA_INVALID_CMD_FIELD);
-               TRACE_RET(chip, TRANSPORT_FAILED);
+               rtsx_trace(chip);
+               return TRANSPORT_FAILED;
        }
 
        rtsx_disable_aspm(chip);
@@ -2823,7 +2948,8 @@ static int ms_format_cmnd(struct scsi_cmnd *srb, struct rtsx_chip *chip)
                if (!check_card_ready(chip, lun) ||
                                (get_card_size(chip, lun) == 0)) {
                        set_sense_type(chip, lun, SENSE_TYPE_MEDIA_NOT_PRESENT);
-                       TRACE_RET(chip, TRANSPORT_FAILED);
+                       rtsx_trace(chip);
+                       return TRANSPORT_FAILED;
                }
        }
        rtsx_set_stat(chip, RTSX_STAT_RUN);
@@ -2835,23 +2961,27 @@ static int ms_format_cmnd(struct scsi_cmnd *srb, struct rtsx_chip *chip)
 
        if (!(chip->card_ready & MS_CARD)) {
                set_sense_type(chip, lun, SENSE_TYPE_MEDIA_NOT_PRESENT);
-               TRACE_RET(chip, TRANSPORT_FAILED);
+               rtsx_trace(chip);
+               return TRANSPORT_FAILED;
        }
 
        if (chip->card_wp & MS_CARD) {
                set_sense_type(chip, lun, SENSE_TYPE_MEDIA_WRITE_PROTECT);
-               TRACE_RET(chip, TRANSPORT_FAILED);
+               rtsx_trace(chip);
+               return TRANSPORT_FAILED;
        }
 
        if (!CHK_MSPRO(ms_card)) {
                set_sense_type(chip, lun, SENSE_TYPE_MEDIA_LUN_NOT_SUPPORT);
-               TRACE_RET(chip, TRANSPORT_FAILED);
+               rtsx_trace(chip);
+               return TRANSPORT_FAILED;
        }
 
        retval = mspro_format(srb, chip, MS_SHORT_DATA_LEN, quick_format);
        if (retval != STATUS_SUCCESS) {
                set_sense_type(chip, lun, SENSE_TYPE_FORMAT_CMD_FAILED);
-               TRACE_RET(chip, TRANSPORT_FAILED);
+               rtsx_trace(chip);
+               return TRANSPORT_FAILED;
        }
 
        scsi_set_resid(srb, 0);
@@ -2870,18 +3000,21 @@ static int get_ms_information(struct scsi_cmnd *srb, struct rtsx_chip *chip)
 
        if (!check_card_ready(chip, lun)) {
                set_sense_type(chip, lun, SENSE_TYPE_MEDIA_NOT_PRESENT);
-               TRACE_RET(chip, TRANSPORT_FAILED);
+               rtsx_trace(chip);
+               return TRANSPORT_FAILED;
        }
        if (get_lun_card(chip, lun) != MS_CARD) {
                set_sense_type(chip, lun, SENSE_TYPE_MEDIA_LUN_NOT_SUPPORT);
-               TRACE_RET(chip, TRANSPORT_FAILED);
+               rtsx_trace(chip);
+               return TRANSPORT_FAILED;
        }
 
        if ((srb->cmnd[2] != 0xB0) || (srb->cmnd[4] != 0x4D) ||
                (srb->cmnd[5] != 0x53) || (srb->cmnd[6] != 0x49) ||
                (srb->cmnd[7] != 0x44)) {
                set_sense_type(chip, lun, SENSE_TYPE_MEDIA_INVALID_CMD_FIELD);
-               TRACE_RET(chip, TRANSPORT_FAILED);
+               rtsx_trace(chip);
+               return TRANSPORT_FAILED;
        }
 
        dev_info_id = srb->cmnd[3];
@@ -2889,7 +3022,8 @@ static int get_ms_information(struct scsi_cmnd *srb, struct rtsx_chip *chip)
                        (!CHK_MSXC(ms_card) && (dev_info_id == 0x13)) ||
                        !CHK_MSPRO(ms_card)) {
                set_sense_type(chip, lun, SENSE_TYPE_MEDIA_INVALID_CMD_FIELD);
-               TRACE_RET(chip, TRANSPORT_FAILED);
+               rtsx_trace(chip);
+               return TRANSPORT_FAILED;
        }
 
        if (dev_info_id == 0x15)
@@ -2898,8 +3032,10 @@ static int get_ms_information(struct scsi_cmnd *srb, struct rtsx_chip *chip)
                buf_len = data_len = 0x6A;
 
        buf = kmalloc(buf_len, GFP_KERNEL);
-       if (!buf)
-               TRACE_RET(chip, TRANSPORT_ERROR);
+       if (!buf) {
+               rtsx_trace(chip);
+               return TRANSPORT_ERROR;
+       }
 
        i = 0;
        /*  GET Memory Stick Media Information Response Header */
@@ -2986,11 +3122,13 @@ static int sd_extention_cmnd(struct scsi_cmnd *srb, struct rtsx_chip *chip)
 
        if (!check_card_ready(chip, lun)) {
                set_sense_type(chip, lun, SENSE_TYPE_MEDIA_NOT_PRESENT);
-               TRACE_RET(chip, TRANSPORT_FAILED);
+               rtsx_trace(chip);
+               return TRANSPORT_FAILED;
        }
        if (get_lun_card(chip, lun) != SD_CARD) {
                set_sense_type(chip, lun, SENSE_TYPE_MEDIA_LUN_NOT_SUPPORT);
-               TRACE_RET(chip, TRANSPORT_FAILED);
+               rtsx_trace(chip);
+               return TRANSPORT_FAILED;
        }
 
        switch (srb->cmnd[0]) {
@@ -3020,7 +3158,8 @@ static int sd_extention_cmnd(struct scsi_cmnd *srb, struct rtsx_chip *chip)
 
        default:
                set_sense_type(chip, lun, SENSE_TYPE_MEDIA_INVALID_CMD_FIELD);
-               TRACE_RET(chip, TRANSPORT_FAILED);
+               rtsx_trace(chip);
+               return TRANSPORT_FAILED;
        }
 
        return result;
@@ -3047,21 +3186,25 @@ static int mg_report_key(struct scsi_cmnd *srb, struct rtsx_chip *chip)
 
        if (!check_card_ready(chip, lun)) {
                set_sense_type(chip, lun, SENSE_TYPE_MEDIA_NOT_PRESENT);
-               TRACE_RET(chip, TRANSPORT_FAILED);
+               rtsx_trace(chip);
+               return TRANSPORT_FAILED;
        }
        if (get_lun_card(chip, lun) != MS_CARD) {
                set_sense_type(chip, lun, SENSE_TYPE_MEDIA_LUN_NOT_SUPPORT);
-               TRACE_RET(chip, TRANSPORT_FAILED);
+               rtsx_trace(chip);
+               return TRANSPORT_FAILED;
        }
 
        if (srb->cmnd[7] != KC_MG_R_PRO) {
                set_sense_type(chip, lun, SENSE_TYPE_MEDIA_INVALID_CMD_FIELD);
-               TRACE_RET(chip, TRANSPORT_FAILED);
+               rtsx_trace(chip);
+               return TRANSPORT_FAILED;
        }
 
        if (!CHK_MSPRO(ms_card)) {
                set_sense_type(chip, lun, SENSE_TYPE_MG_INCOMPATIBLE_MEDIUM);
-               TRACE_RET(chip, TRANSPORT_FAILED);
+               rtsx_trace(chip);
+               return TRANSPORT_FAILED;
        }
 
        key_format = srb->cmnd[10] & 0x3F;
@@ -3073,13 +3216,16 @@ static int mg_report_key(struct scsi_cmnd *srb, struct rtsx_chip *chip)
                        (srb->cmnd[8] == 0x04) &&
                        (srb->cmnd[9] == 0x1C)) {
                        retval = mg_get_local_EKB(srb, chip);
-                       if (retval != STATUS_SUCCESS)
-                               TRACE_RET(chip, TRANSPORT_FAILED);
+                       if (retval != STATUS_SUCCESS) {
+                               rtsx_trace(chip);
+                               return TRANSPORT_FAILED;
+                       }
 
                } else {
                        set_sense_type(chip, lun,
                                SENSE_TYPE_MEDIA_INVALID_CMD_FIELD);
-                       TRACE_RET(chip, TRANSPORT_FAILED);
+                       rtsx_trace(chip);
+                       return TRANSPORT_FAILED;
                }
                break;
 
@@ -3088,13 +3234,16 @@ static int mg_report_key(struct scsi_cmnd *srb, struct rtsx_chip *chip)
                        (srb->cmnd[8] == 0x00) &&
                        (srb->cmnd[9] == 0x24)) {
                        retval = mg_get_rsp_chg(srb, chip);
-                       if (retval != STATUS_SUCCESS)
-                               TRACE_RET(chip, TRANSPORT_FAILED);
+                       if (retval != STATUS_SUCCESS) {
+                               rtsx_trace(chip);
+                               return TRANSPORT_FAILED;
+                       }
 
                } else {
                        set_sense_type(chip, lun,
                                SENSE_TYPE_MEDIA_INVALID_CMD_FIELD);
-                       TRACE_RET(chip, TRANSPORT_FAILED);
+                       rtsx_trace(chip);
+                       return TRANSPORT_FAILED;
                }
                break;
 
@@ -3108,19 +3257,23 @@ static int mg_report_key(struct scsi_cmnd *srb, struct rtsx_chip *chip)
                        (srb->cmnd[4] == 0x00) &&
                        (srb->cmnd[5] < 32)) {
                        retval = mg_get_ICV(srb, chip);
-                       if (retval != STATUS_SUCCESS)
-                               TRACE_RET(chip, TRANSPORT_FAILED);
+                       if (retval != STATUS_SUCCESS) {
+                               rtsx_trace(chip);
+                               return TRANSPORT_FAILED;
+                       }
 
                } else {
                        set_sense_type(chip, lun,
                                SENSE_TYPE_MEDIA_INVALID_CMD_FIELD);
-                       TRACE_RET(chip, TRANSPORT_FAILED);
+                       rtsx_trace(chip);
+                       return TRANSPORT_FAILED;
                }
                break;
 
        default:
                set_sense_type(chip, lun, SENSE_TYPE_MEDIA_INVALID_CMD_FIELD);
-               TRACE_RET(chip, TRANSPORT_FAILED);
+               rtsx_trace(chip);
+               return TRANSPORT_FAILED;
        }
 
        scsi_set_resid(srb, 0);
@@ -3146,25 +3299,30 @@ static int mg_send_key(struct scsi_cmnd *srb, struct rtsx_chip *chip)
 
        if (!check_card_ready(chip, lun)) {
                set_sense_type(chip, lun, SENSE_TYPE_MEDIA_NOT_PRESENT);
-               TRACE_RET(chip, TRANSPORT_FAILED);
+               rtsx_trace(chip);
+               return TRANSPORT_FAILED;
        }
        if (check_card_wp(chip, lun)) {
                set_sense_type(chip, lun, SENSE_TYPE_MEDIA_WRITE_PROTECT);
-               TRACE_RET(chip, TRANSPORT_FAILED);
+               rtsx_trace(chip);
+               return TRANSPORT_FAILED;
        }
        if (get_lun_card(chip, lun) != MS_CARD) {
                set_sense_type(chip, lun, SENSE_TYPE_MEDIA_LUN_NOT_SUPPORT);
-               TRACE_RET(chip, TRANSPORT_FAILED);
+               rtsx_trace(chip);
+               return TRANSPORT_FAILED;
        }
 
        if (srb->cmnd[7] != KC_MG_R_PRO) {
                set_sense_type(chip, lun, SENSE_TYPE_MEDIA_INVALID_CMD_FIELD);
-               TRACE_RET(chip, TRANSPORT_FAILED);
+               rtsx_trace(chip);
+               return TRANSPORT_FAILED;
        }
 
        if (!CHK_MSPRO(ms_card)) {
                set_sense_type(chip, lun, SENSE_TYPE_MG_INCOMPATIBLE_MEDIUM);
-               TRACE_RET(chip, TRANSPORT_FAILED);
+               rtsx_trace(chip);
+               return TRANSPORT_FAILED;
        }
 
        key_format = srb->cmnd[10] & 0x3F;
@@ -3176,13 +3334,16 @@ static int mg_send_key(struct scsi_cmnd *srb, struct rtsx_chip *chip)
                        (srb->cmnd[8] == 0x00) &&
                        (srb->cmnd[9] == 0x0C)) {
                        retval = mg_set_leaf_id(srb, chip);
-                       if (retval != STATUS_SUCCESS)
-                               TRACE_RET(chip, TRANSPORT_FAILED);
+                       if (retval != STATUS_SUCCESS) {
+                               rtsx_trace(chip);
+                               return TRANSPORT_FAILED;
+                       }
 
                } else {
                        set_sense_type(chip, lun,
                                SENSE_TYPE_MEDIA_INVALID_CMD_FIELD);
-                       TRACE_RET(chip, TRANSPORT_FAILED);
+                       rtsx_trace(chip);
+                       return TRANSPORT_FAILED;
                }
                break;
 
@@ -3191,13 +3352,16 @@ static int mg_send_key(struct scsi_cmnd *srb, struct rtsx_chip *chip)
                        (srb->cmnd[8] == 0x00) &&
                        (srb->cmnd[9] == 0x0C)) {
                        retval = mg_chg(srb, chip);
-                       if (retval != STATUS_SUCCESS)
-                               TRACE_RET(chip, TRANSPORT_FAILED);
+                       if (retval != STATUS_SUCCESS) {
+                               rtsx_trace(chip);
+                               return TRANSPORT_FAILED;
+                       }
 
                } else {
                        set_sense_type(chip, lun,
                                SENSE_TYPE_MEDIA_INVALID_CMD_FIELD);
-                       TRACE_RET(chip, TRANSPORT_FAILED);
+                       rtsx_trace(chip);
+                       return TRANSPORT_FAILED;
                }
                break;
 
@@ -3206,13 +3370,16 @@ static int mg_send_key(struct scsi_cmnd *srb, struct rtsx_chip *chip)
                        (srb->cmnd[8] == 0x00) &&
                        (srb->cmnd[9] == 0x0C)) {
                        retval = mg_rsp(srb, chip);
-                       if (retval != STATUS_SUCCESS)
-                               TRACE_RET(chip, TRANSPORT_FAILED);
+                       if (retval != STATUS_SUCCESS) {
+                               rtsx_trace(chip);
+                               return TRANSPORT_FAILED;
+                       }
 
                } else {
                        set_sense_type(chip, lun,
                                SENSE_TYPE_MEDIA_INVALID_CMD_FIELD);
-                       TRACE_RET(chip, TRANSPORT_FAILED);
+                       rtsx_trace(chip);
+                       return TRANSPORT_FAILED;
                }
                break;
 
@@ -3226,19 +3393,23 @@ static int mg_send_key(struct scsi_cmnd *srb, struct rtsx_chip *chip)
                        (srb->cmnd[4] == 0x00) &&
                        (srb->cmnd[5] < 32)) {
                        retval = mg_set_ICV(srb, chip);
-                       if (retval != STATUS_SUCCESS)
-                               TRACE_RET(chip, TRANSPORT_FAILED);
+                       if (retval != STATUS_SUCCESS) {
+                               rtsx_trace(chip);
+                               return TRANSPORT_FAILED;
+                       }
 
                } else {
                        set_sense_type(chip, lun,
                                SENSE_TYPE_MEDIA_INVALID_CMD_FIELD);
-                       TRACE_RET(chip, TRANSPORT_FAILED);
+                       rtsx_trace(chip);
+                       return TRANSPORT_FAILED;
                }
                break;
 
        default:
                set_sense_type(chip, lun, SENSE_TYPE_MEDIA_INVALID_CMD_FIELD);
-               TRACE_RET(chip, TRANSPORT_FAILED);
+               rtsx_trace(chip);
+               return TRANSPORT_FAILED;
        }
 
        scsi_set_resid(srb, 0);
@@ -3267,7 +3438,8 @@ int rtsx_scsi_handler(struct scsi_cmnd *srb, struct rtsx_chip *chip)
                        /* Logical Unit Not Ready Format in Progress */
                        set_sense_data(chip, lun, CUR_ERR,
                                       0x02, 0, 0x04, 0x04, 0, 0);
-                       TRACE_RET(chip, TRANSPORT_FAILED);
+                       rtsx_trace(chip);
+                       return TRANSPORT_FAILED;
                }
        }
 #endif
@@ -3279,7 +3451,8 @@ int rtsx_scsi_handler(struct scsi_cmnd *srb, struct rtsx_chip *chip)
                        /* Logical Unit Not Ready Format in Progress */
                        set_sense_data(chip, lun, CUR_ERR, 0x02, 0, 0x04, 0x04,
                                        0, (u16)(ms_card->progress));
-                       TRACE_RET(chip, TRANSPORT_FAILED);
+                       rtsx_trace(chip);
+                       return TRANSPORT_FAILED;
                }
        }