hc
2023-12-06 08f87f769b595151be1afeff53e144f543faa614
kernel/drivers/staging/rts5208/xd.c
....@@ -1,19 +1,8 @@
1
-/* Driver for Realtek PCI-Express card reader
1
+// SPDX-License-Identifier: GPL-2.0+
2
+/*
3
+ * Driver for Realtek PCI-Express card reader
24 *
35 * Copyright(c) 2009-2013 Realtek Semiconductor Corp. All rights reserved.
4
- *
5
- * This program is free software; you can redistribute it and/or modify it
6
- * under the terms of the GNU General Public License as published by the
7
- * Free Software Foundation; either version 2, or (at your option) any
8
- * later version.
9
- *
10
- * This program is distributed in the hope that it will be useful, but
11
- * WITHOUT ANY WARRANTY; without even the implied warranty of
12
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13
- * General Public License for more details.
14
- *
15
- * You should have received a copy of the GNU General Public License along
16
- * with this program; if not, see <http://www.gnu.org/licenses/>.
176 *
187 * Author:
198 * Wei WANG (wei_wang@realsil.com.cn)
....@@ -60,9 +49,8 @@
6049 xd_card->xd_clock = CLK_50;
6150
6251 retval = switch_clock(chip, xd_card->xd_clock);
63
- if (retval != STATUS_SUCCESS) {
52
+ if (retval != STATUS_SUCCESS)
6453 return STATUS_FAIL;
65
- }
6654
6755 return STATUS_SUCCESS;
6856 }
....@@ -73,14 +61,12 @@
7361 int retval;
7462
7563 retval = select_card(chip, XD_CARD);
76
- if (retval != STATUS_SUCCESS) {
64
+ if (retval != STATUS_SUCCESS)
7765 return STATUS_FAIL;
78
- }
7966
8067 retval = switch_clock(chip, xd_card->xd_clock);
81
- if (retval != STATUS_SUCCESS) {
68
+ if (retval != STATUS_SUCCESS)
8269 return STATUS_FAIL;
83
- }
8470
8571 return STATUS_SUCCESS;
8672 }
....@@ -102,9 +88,8 @@
10288 rtsx_add_cmd(chip, READ_REG_CMD, (u16)(XD_ADDRESS1 + i), 0, 0);
10389
10490 retval = rtsx_send_cmd(chip, XD_CARD, 20);
105
- if (retval < 0) {
91
+ if (retval < 0)
10692 return STATUS_FAIL;
107
- }
10893
10994 ptr = rtsx_get_cmd_data(chip) + 1;
11095 if (id_buf && buf_len) {
....@@ -173,9 +158,8 @@
173158 rtsx_add_cmd(chip, READ_REG_CMD, XD_PARITY, 0, 0);
174159
175160 retval = rtsx_send_cmd(chip, XD_CARD, 500);
176
- if (retval < 0) {
161
+ if (retval < 0)
177162 return STATUS_FAIL;
178
- }
179163
180164 if (buf && buf_len) {
181165 u8 *ptr = rtsx_get_cmd_data(chip) + 1;
....@@ -193,9 +177,8 @@
193177 {
194178 int retval, i;
195179
196
- if (!buf || (buf_len < 0)) {
180
+ if (!buf || (buf_len < 0))
197181 return STATUS_FAIL;
198
- }
199182
200183 rtsx_init_cmd(chip);
201184
....@@ -220,9 +203,8 @@
220203 int retval;
221204 u8 reg;
222205
223
- if (!buf || (buf_len < 10)) {
206
+ if (!buf || (buf_len < 10))
224207 return STATUS_FAIL;
225
- }
226208
227209 rtsx_init_cmd(chip);
228210
....@@ -246,36 +228,31 @@
246228 }
247229
248230 retval = rtsx_read_register(chip, XD_PAGE_STATUS, &reg);
249
- if (retval) {
231
+ if (retval)
250232 return retval;
251
- }
252233 if (reg != XD_GPG) {
253234 rtsx_clear_xd_error(chip);
254235 return STATUS_FAIL;
255236 }
256237
257238 retval = rtsx_read_register(chip, XD_CTL, &reg);
258
- if (retval) {
239
+ if (retval)
259240 return retval;
260
- }
261241 if (!(reg & XD_ECC1_ERROR) || !(reg & XD_ECC1_UNCORRECTABLE)) {
262242 retval = xd_read_data_from_ppb(chip, 0, buf, buf_len);
263
- if (retval != STATUS_SUCCESS) {
243
+ if (retval != STATUS_SUCCESS)
264244 return STATUS_FAIL;
265
- }
266245 if (reg & XD_ECC1_ERROR) {
267246 u8 ecc_bit, ecc_byte;
268247
269248 retval = rtsx_read_register(chip, XD_ECC_BIT1,
270249 &ecc_bit);
271
- if (retval) {
250
+ if (retval)
272251 return retval;
273
- }
274252 retval = rtsx_read_register(chip, XD_ECC_BYTE1,
275253 &ecc_byte);
276
- if (retval) {
254
+ if (retval)
277255 return retval;
278
- }
279256
280257 dev_dbg(rtsx_dev(chip), "ECC_BIT1 = 0x%x, ECC_BYTE1 = 0x%x\n",
281258 ecc_bit, ecc_byte);
....@@ -291,22 +268,19 @@
291268 rtsx_clear_xd_error(chip);
292269
293270 retval = xd_read_data_from_ppb(chip, 256, buf, buf_len);
294
- if (retval != STATUS_SUCCESS) {
271
+ if (retval != STATUS_SUCCESS)
295272 return STATUS_FAIL;
296
- }
297273 if (reg & XD_ECC2_ERROR) {
298274 u8 ecc_bit, ecc_byte;
299275
300276 retval = rtsx_read_register(chip, XD_ECC_BIT2,
301277 &ecc_bit);
302
- if (retval) {
278
+ if (retval)
303279 return retval;
304
- }
305280 retval = rtsx_read_register(chip, XD_ECC_BYTE2,
306281 &ecc_byte);
307
- if (retval) {
282
+ if (retval)
308283 return retval;
309
- }
310284
311285 dev_dbg(rtsx_dev(chip), "ECC_BIT2 = 0x%x, ECC_BYTE2 = 0x%x\n",
312286 ecc_bit, ecc_byte);
....@@ -404,68 +378,58 @@
404378 XD_D2_PD |
405379 XD_D1_PD |
406380 XD_D0_PD);
407
- if (retval) {
381
+ if (retval)
408382 return retval;
409
- }
410383 retval = rtsx_write_register(chip, CARD_PULL_CTL2, 0xFF,
411384 XD_D7_PD |
412385 XD_D6_PD |
413386 XD_D5_PD |
414387 XD_D4_PD);
415
- if (retval) {
388
+ if (retval)
416389 return retval;
417
- }
418390 retval = rtsx_write_register(chip, CARD_PULL_CTL3, 0xFF,
419391 XD_WP_PD |
420392 XD_CE_PD |
421393 XD_CLE_PD |
422394 XD_CD_PU);
423
- if (retval) {
395
+ if (retval)
424396 return retval;
425
- }
426397 retval = rtsx_write_register(chip, CARD_PULL_CTL4, 0xFF,
427398 XD_RDY_PD |
428399 XD_WE_PD |
429400 XD_RE_PD |
430401 XD_ALE_PD);
431
- if (retval) {
402
+ if (retval)
432403 return retval;
433
- }
434404 retval = rtsx_write_register(chip, CARD_PULL_CTL5, 0xFF,
435405 MS_INS_PU |
436406 SD_WP_PD |
437407 SD_CD_PU |
438408 SD_CMD_PD);
439
- if (retval) {
409
+ if (retval)
440410 return retval;
441
- }
442411 retval = rtsx_write_register(chip, CARD_PULL_CTL6, 0xFF,
443412 MS_D5_PD | MS_D4_PD);
444
- if (retval) {
413
+ if (retval)
445414 return retval;
446
- }
447415 } else if (CHECK_PID(chip, 0x5288)) {
448416 if (CHECK_BARO_PKG(chip, QFN)) {
449417 retval = rtsx_write_register(chip, CARD_PULL_CTL1,
450418 0xFF, 0x55);
451
- if (retval) {
419
+ if (retval)
452420 return retval;
453
- }
454421 retval = rtsx_write_register(chip, CARD_PULL_CTL2,
455422 0xFF, 0x55);
456
- if (retval) {
423
+ if (retval)
457424 return retval;
458
- }
459425 retval = rtsx_write_register(chip, CARD_PULL_CTL3,
460426 0xFF, 0x4B);
461
- if (retval) {
427
+ if (retval)
462428 return retval;
463
- }
464429 retval = rtsx_write_register(chip, CARD_PULL_CTL4,
465430 0xFF, 0x69);
466
- if (retval) {
431
+ if (retval)
467432 return retval;
468
- }
469433 }
470434 }
471435
....@@ -479,9 +443,8 @@
479443 u8 *ptr, id_buf[4], redunt[11];
480444
481445 retval = select_card(chip, XD_CARD);
482
- if (retval != STATUS_SUCCESS) {
446
+ if (retval != STATUS_SUCCESS)
483447 return STATUS_FAIL;
484
- }
485448
486449 rtsx_init_cmd(chip);
487450
....@@ -505,15 +468,13 @@
505468 rtsx_add_cmd(chip, WRITE_REG_CMD, CARD_OE, XD_OUTPUT_EN, 0);
506469
507470 retval = rtsx_send_cmd(chip, XD_CARD, 100);
508
- if (retval < 0) {
471
+ if (retval < 0)
509472 return STATUS_FAIL;
510
- }
511473
512474 if (!chip->ft2_fast_mode) {
513475 retval = card_power_off(chip, XD_CARD);
514
- if (retval != STATUS_SUCCESS) {
476
+ if (retval != STATUS_SUCCESS)
515477 return STATUS_FAIL;
516
- }
517478
518479 wait_timeout(250);
519480
....@@ -529,14 +490,12 @@
529490 }
530491
531492 retval = rtsx_send_cmd(chip, XD_CARD, 100);
532
- if (retval < 0) {
493
+ if (retval < 0)
533494 return STATUS_FAIL;
534
- }
535495
536496 retval = card_power_on(chip, XD_CARD);
537
- if (retval != STATUS_SUCCESS) {
497
+ if (retval != STATUS_SUCCESS)
538498 return STATUS_FAIL;
539
- }
540499
541500 #ifdef SUPPORT_OCP
542501 wait_timeout(50);
....@@ -565,17 +524,15 @@
565524 rtsx_add_cmd(chip, WRITE_REG_CMD, XD_CTL, XD_CE_DISEN, XD_CE_DISEN);
566525
567526 retval = rtsx_send_cmd(chip, XD_CARD, 100);
568
- if (retval < 0) {
527
+ if (retval < 0)
569528 return STATUS_FAIL;
570
- }
571529
572530 if (!chip->ft2_fast_mode)
573531 wait_timeout(200);
574532
575533 retval = xd_set_init_para(chip);
576
- if (retval != STATUS_SUCCESS) {
534
+ if (retval != STATUS_SUCCESS)
577535 return STATUS_FAIL;
578
- }
579536
580537 /* Read ID to check if the timing setting is right */
581538 for (i = 0; i < 4; i++) {
....@@ -598,9 +555,8 @@
598555 rtsx_add_cmd(chip, READ_REG_CMD, XD_CTL, 0, 0);
599556
600557 retval = rtsx_send_cmd(chip, XD_CARD, 100);
601
- if (retval < 0) {
558
+ if (retval < 0)
602559 return STATUS_FAIL;
603
- }
604560
605561 ptr = rtsx_get_cmd_data(chip) + 1;
606562
....@@ -612,9 +568,8 @@
612568 continue;
613569
614570 retval = xd_read_id(chip, READ_ID, id_buf, 4);
615
- if (retval != STATUS_SUCCESS) {
571
+ if (retval != STATUS_SUCCESS)
616572 return STATUS_FAIL;
617
- }
618573
619574 dev_dbg(rtsx_dev(chip), "READ_ID: 0x%x 0x%x 0x%x 0x%x\n",
620575 id_buf[0], id_buf[1], id_buf[2], id_buf[3]);
....@@ -675,13 +630,13 @@
675630 xd_card->zone_cnt = 32;
676631 xd_card->capacity = 1024000;
677632 break;
678
- case xD_1G_X8_512:
633
+ case XD_1G_X8_512:
679634 XD_PAGE_512(xd_card);
680635 xd_card->addr_cycle = 4;
681636 xd_card->zone_cnt = 64;
682637 xd_card->capacity = 2048000;
683638 break;
684
- case xD_2G_X8_512:
639
+ case XD_2G_X8_512:
685640 XD_PAGE_512(xd_card);
686641 xd_card->addr_cycle = 4;
687642 xd_card->zone_cnt = 128;
....@@ -694,9 +649,8 @@
694649 /* Confirm timing setting */
695650 for (j = 0; j < 10; j++) {
696651 retval = xd_read_id(chip, READ_ID, id_buf, 4);
697
- if (retval != STATUS_SUCCESS) {
652
+ if (retval != STATUS_SUCCESS)
698653 return STATUS_FAIL;
699
- }
700654
701655 if (id_buf[1] != xd_card->device_code)
702656 break;
....@@ -715,23 +669,20 @@
715669 return STATUS_FAIL;
716670 }
717671
718
- retval = xd_read_id(chip, READ_xD_ID, id_buf, 4);
719
- if (retval != STATUS_SUCCESS) {
672
+ retval = xd_read_id(chip, READ_XD_ID, id_buf, 4);
673
+ if (retval != STATUS_SUCCESS)
720674 return STATUS_FAIL;
721
- }
722
- dev_dbg(rtsx_dev(chip), "READ_xD_ID: 0x%x 0x%x 0x%x 0x%x\n",
675
+ dev_dbg(rtsx_dev(chip), "READ_XD_ID: 0x%x 0x%x 0x%x 0x%x\n",
723676 id_buf[0], id_buf[1], id_buf[2], id_buf[3]);
724
- if (id_buf[2] != XD_ID_CODE) {
677
+ if (id_buf[2] != XD_ID_CODE)
725678 return STATUS_FAIL;
726
- }
727679
728680 /* Search CIS block */
729681 for (i = 0; i < 24; i++) {
730682 u32 page_addr;
731683
732
- if (detect_card_cd(chip, XD_CARD) != STATUS_SUCCESS) {
684
+ if (detect_card_cd(chip, XD_CARD) != STATUS_SUCCESS)
733685 return STATUS_FAIL;
734
- }
735686
736687 page_addr = (u32)i << xd_card->block_shift;
737688
....@@ -769,9 +720,8 @@
769720 page_addr += j;
770721
771722 retval = xd_read_cis(chip, page_addr, buf, 10);
772
- if (retval != STATUS_SUCCESS) {
723
+ if (retval != STATUS_SUCCESS)
773724 return STATUS_FAIL;
774
- }
775725
776726 if ((buf[0] == 0x01) && (buf[1] == 0x03) &&
777727 (buf[2] == 0xD9) &&
....@@ -841,17 +791,15 @@
841791 dev_dbg(rtsx_dev(chip), "%s: zone_cnt = %d\n", __func__,
842792 xd_card->zone_cnt);
843793
844
- if (xd_card->zone_cnt < 1) {
794
+ if (xd_card->zone_cnt < 1)
845795 return STATUS_FAIL;
846
- }
847796
848797 size = xd_card->zone_cnt * sizeof(struct zone_entry);
849798 dev_dbg(rtsx_dev(chip), "Buffer size for l2p table is %d\n", size);
850799
851800 xd_card->zone = vmalloc(size);
852
- if (!xd_card->zone) {
801
+ if (!xd_card->zone)
853802 return STATUS_ERROR;
854
- }
855803
856804 for (i = 0; i < xd_card->zone_cnt; i++) {
857805 xd_card->zone[i].build_flag = 0;
....@@ -1028,19 +976,16 @@
1028976 xd_card->delay_write.delay_write_flag = 0;
1029977
1030978 retval = enable_card_clock(chip, XD_CARD);
1031
- if (retval != STATUS_SUCCESS) {
979
+ if (retval != STATUS_SUCCESS)
1032980 return STATUS_FAIL;
1033
- }
1034981
1035982 retval = reset_xd(chip);
1036
- if (retval != STATUS_SUCCESS) {
983
+ if (retval != STATUS_SUCCESS)
1037984 return STATUS_FAIL;
1038
- }
1039985
1040986 retval = xd_init_l2p_tbl(chip);
1041
- if (retval != STATUS_SUCCESS) {
987
+ if (retval != STATUS_SUCCESS)
1042988 return STATUS_FAIL;
1043
- }
1044989
1045990 return STATUS_SUCCESS;
1046991 }
....@@ -1054,9 +999,8 @@
1054999
10551000 dev_dbg(rtsx_dev(chip), "mark block 0x%x as bad block\n", phy_blk);
10561001
1057
- if (phy_blk == BLK_NOT_FOUND) {
1002
+ if (phy_blk == BLK_NOT_FOUND)
10581003 return STATUS_FAIL;
1059
- }
10601004
10611005 rtsx_init_cmd(chip);
10621006
....@@ -1107,12 +1051,10 @@
11071051
11081052 dev_dbg(rtsx_dev(chip), "Init block 0x%x\n", phy_blk);
11091053
1110
- if (start_page > end_page) {
1054
+ if (start_page > end_page)
11111055 return STATUS_FAIL;
1112
- }
1113
- if (phy_blk == BLK_NOT_FOUND) {
1056
+ if (phy_blk == BLK_NOT_FOUND)
11141057 return STATUS_FAIL;
1115
- }
11161058
11171059 rtsx_init_cmd(chip);
11181060
....@@ -1164,13 +1106,11 @@
11641106 dev_dbg(rtsx_dev(chip), "Copy page from block 0x%x to block 0x%x\n",
11651107 old_blk, new_blk);
11661108
1167
- if (start_page > end_page) {
1109
+ if (start_page > end_page)
11681110 return STATUS_FAIL;
1169
- }
11701111
1171
- if ((old_blk == BLK_NOT_FOUND) || (new_blk == BLK_NOT_FOUND)) {
1112
+ if ((old_blk == BLK_NOT_FOUND) || (new_blk == BLK_NOT_FOUND))
11721113 return STATUS_FAIL;
1173
- }
11741114
11751115 old_page = (old_blk << xd_card->block_shift) + start_page;
11761116 new_page = (new_blk << xd_card->block_shift) + start_page;
....@@ -1179,9 +1119,8 @@
11791119
11801120 retval = rtsx_write_register(chip, CARD_DATA_SOURCE, 0x01,
11811121 PINGPONG_BUFFER);
1182
- if (retval) {
1122
+ if (retval)
11831123 return retval;
1184
- }
11851124
11861125 for (i = start_page; i < end_page; i++) {
11871126 if (detect_card_cd(chip, XD_CARD) != STATUS_SUCCESS) {
....@@ -1216,10 +1155,10 @@
12161155 return STATUS_FAIL;
12171156 }
12181157
1219
- if (((reg & (XD_ECC1_ERROR | XD_ECC1_UNCORRECTABLE)) ==
1220
- (XD_ECC1_ERROR | XD_ECC1_UNCORRECTABLE)) ||
1221
- ((reg & (XD_ECC2_ERROR | XD_ECC2_UNCORRECTABLE)) ==
1222
- (XD_ECC2_ERROR | XD_ECC2_UNCORRECTABLE))) {
1158
+ if (((reg & XD_ECC1_ERROR) &&
1159
+ (reg & XD_ECC1_UNCORRECTABLE)) ||
1160
+ ((reg & XD_ECC2_ERROR) &&
1161
+ (reg & XD_ECC2_UNCORRECTABLE))) {
12231162 rtsx_write_register(chip,
12241163 XD_PAGE_STATUS,
12251164 0xFF,
....@@ -1287,9 +1226,8 @@
12871226 rtsx_add_cmd(chip, READ_REG_CMD, XD_CTL, 0, 0);
12881227
12891228 retval = rtsx_send_cmd(chip, XD_CARD, 100);
1290
- if (retval < 0) {
1229
+ if (retval < 0)
12911230 return STATUS_FAIL;
1292
- }
12931231
12941232 ptr = rtsx_get_cmd_data(chip) + 1;
12951233 if (((ptr[0] & READY_FLAG) == READY_STATE) && (ptr[1] & XD_RDY))
....@@ -1305,9 +1243,8 @@
13051243 u8 reg = 0, *ptr;
13061244 int i, retval;
13071245
1308
- if (phy_blk == BLK_NOT_FOUND) {
1246
+ if (phy_blk == BLK_NOT_FOUND)
13091247 return STATUS_FAIL;
1310
- }
13111248
13121249 page_addr = phy_blk << xd_card->block_shift;
13131250
....@@ -1333,9 +1270,8 @@
13331270 }
13341271 xd_set_err_code(chip, XD_ERASE_FAIL);
13351272 retval = xd_reset_cmd(chip);
1336
- if (retval != STATUS_SUCCESS) {
1273
+ if (retval != STATUS_SUCCESS)
13371274 return STATUS_FAIL;
1338
- }
13391275 continue;
13401276 }
13411277
....@@ -1382,17 +1318,15 @@
13821318
13831319 if (!zone->l2p_table) {
13841320 zone->l2p_table = vmalloc(2000);
1385
- if (!zone->l2p_table) {
1321
+ if (!zone->l2p_table)
13861322 goto build_fail;
1387
- }
13881323 }
13891324 memset((u8 *)(zone->l2p_table), 0xff, 2000);
13901325
13911326 if (!zone->free_table) {
13921327 zone->free_table = vmalloc(XD_FREE_TABLE_CNT * 2);
1393
- if (!zone->free_table) {
1328
+ if (!zone->free_table)
13941329 goto build_fail;
1395
- }
13961330 }
13971331 memset((u8 *)(zone->free_table), 0xff, XD_FREE_TABLE_CNT * 2);
13981332
....@@ -1555,9 +1489,8 @@
15551489 XD_TRANSFER_END, XD_TRANSFER_END);
15561490
15571491 retval = rtsx_send_cmd(chip, XD_CARD, 200);
1558
- if (retval < 0) {
1492
+ if (retval < 0)
15591493 return STATUS_FAIL;
1560
- }
15611494
15621495 return STATUS_SUCCESS;
15631496 }
....@@ -1636,17 +1569,15 @@
16361569
16371570 fail:
16381571 retval = rtsx_read_register(chip, XD_PAGE_STATUS, &reg_val);
1639
- if (retval) {
1572
+ if (retval)
16401573 return retval;
1641
- }
16421574
16431575 if (reg_val != XD_GPG)
16441576 xd_set_err_code(chip, XD_PRG_ERROR);
16451577
16461578 retval = rtsx_read_register(chip, XD_CTL, &reg_val);
1647
- if (retval) {
1579
+ if (retval)
16481580 return retval;
1649
- }
16501581
16511582 if (((reg_val & (XD_ECC1_ERROR | XD_ECC1_UNCORRECTABLE)) ==
16521583 (XD_ECC1_ERROR | XD_ECC1_UNCORRECTABLE)) ||
....@@ -1702,9 +1633,8 @@
17021633 dev_dbg(rtsx_dev(chip), "new_blk = 0x%x, ", new_blk);
17031634 dev_dbg(rtsx_dev(chip), "log_blk = 0x%x\n", log_blk);
17041635
1705
- if (page_off > xd_card->page_off) {
1636
+ if (page_off > xd_card->page_off)
17061637 return STATUS_FAIL;
1707
- }
17081638
17091639 zone_no = (int)(log_blk / 1000);
17101640 log_off = (u16)(log_blk % 1000);
....@@ -1760,9 +1690,8 @@
17601690
17611691 if (page_off) {
17621692 retval = xd_copy_page(chip, old_blk, new_blk, 0, page_off);
1763
- if (retval != STATUS_SUCCESS) {
1693
+ if (retval != STATUS_SUCCESS)
17641694 return STATUS_FAIL;
1765
- }
17661695 }
17671696
17681697 return STATUS_SUCCESS;
....@@ -1858,9 +1787,8 @@
18581787
18591788 fail:
18601789 retval = rtsx_read_register(chip, XD_DAT, &reg_val);
1861
- if (retval) {
1790
+ if (retval)
18621791 return retval;
1863
- }
18641792 if (reg_val & PROGRAM_ERROR) {
18651793 xd_set_err_code(chip, XD_PRG_ERROR);
18661794 xd_mark_bad_block(chip, new_blk);
....@@ -1880,9 +1808,8 @@
18801808 if (delay_write->delay_write_flag) {
18811809 dev_dbg(rtsx_dev(chip), "%s\n", __func__);
18821810 retval = xd_switch_clock(chip);
1883
- if (retval != STATUS_SUCCESS) {
1811
+ if (retval != STATUS_SUCCESS)
18841812 return STATUS_FAIL;
1885
- }
18861813
18871814 delay_write->delay_write_flag = 0;
18881815 retval = xd_finish_write(chip,
....@@ -1890,9 +1817,8 @@
18901817 delay_write->new_phyblock,
18911818 delay_write->logblock,
18921819 delay_write->pageoff);
1893
- if (retval != STATUS_SUCCESS) {
1820
+ if (retval != STATUS_SUCCESS)
18941821 return STATUS_FAIL;
1895
- }
18961822 }
18971823
18981824 return STATUS_SUCCESS;
....@@ -1924,9 +1850,8 @@
19241850 ptr = (u8 *)scsi_sglist(srb);
19251851
19261852 retval = xd_switch_clock(chip);
1927
- if (retval != STATUS_SUCCESS) {
1853
+ if (retval != STATUS_SUCCESS)
19281854 return STATUS_FAIL;
1929
- }
19301855
19311856 if (detect_card_cd(chip, XD_CARD) != STATUS_SUCCESS) {
19321857 chip->card_fail |= XD_CARD;
....@@ -2180,34 +2105,29 @@
21802105 int retval;
21812106
21822107 retval = disable_card_clock(chip, XD_CARD);
2183
- if (retval != STATUS_SUCCESS) {
2108
+ if (retval != STATUS_SUCCESS)
21842109 return STATUS_FAIL;
2185
- }
21862110
21872111 retval = rtsx_write_register(chip, CARD_OE, XD_OUTPUT_EN, 0);
2188
- if (retval) {
2112
+ if (retval)
21892113 return retval;
2190
- }
21912114
21922115 if (!chip->ft2_fast_mode) {
21932116 retval = card_power_off(chip, XD_CARD);
2194
- if (retval != STATUS_SUCCESS) {
2117
+ if (retval != STATUS_SUCCESS)
21952118 return STATUS_FAIL;
2196
- }
21972119
21982120 wait_timeout(50);
21992121 }
22002122
22012123 if (chip->asic_code) {
22022124 retval = xd_pull_ctl_disable(chip);
2203
- if (retval != STATUS_SUCCESS) {
2125
+ if (retval != STATUS_SUCCESS)
22042126 return STATUS_FAIL;
2205
- }
22062127 } else {
22072128 retval = rtsx_write_register(chip, FPGA_PULL_CTL, 0xFF, 0xDF);
2208
- if (retval) {
2129
+ if (retval)
22092130 return retval;
2210
- }
22112131 }
22122132
22132133 return STATUS_SUCCESS;
....@@ -2227,9 +2147,8 @@
22272147 xd_free_l2p_tbl(chip);
22282148
22292149 retval = xd_power_off_card3v3(chip);
2230
- if (retval != STATUS_SUCCESS) {
2150
+ if (retval != STATUS_SUCCESS)
22312151 return STATUS_FAIL;
2232
- }
22332152
22342153 return STATUS_SUCCESS;
22352154 }