Revision 72741084d903e65e121c27bd29494d941729d4a1 authored by Ulf Hansson on 27 August 2019, 08:10:43 UTC, committed by Ulf Hansson on 30 August 2019, 07:17:53 UTC
The OCR register defines the supported range of VDD voltages for SD cards.
However, it has turned out that some SD cards reports an invalid voltage
range, for example having bit7 set.

When a host supports MMC_CAP2_FULL_PWR_CYCLE and some of the voltages from
the invalid VDD range, this triggers the core to run a power cycle of the
card to try to initialize it at the lowest common supported voltage.
Obviously this fails, since the card can't support it.

Let's fix this problem, by clearing invalid bits from the read OCR register
for SD cards, before proceeding with the VDD voltage negotiation.

Cc: stable@vger.kernel.org
Reported-by: Philip Langdale <philipl@overt.org>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Reviewed-by: Philip Langdale <philipl@overt.org>
Tested-by: Philip Langdale <philipl@overt.org>
Tested-by: Manuel Presnitz <mail@mpy.de>
1 parent 7871aa6
History
File Mode Size
.gitignore -rw-r--r-- 643 bytes
Makefile -rw-r--r-- 9.9 KB
README.rst -rw-r--r-- 2.3 KB
asm_goto_workaround.h -rw-r--r-- 453 bytes
bpf_insn.h -rw-r--r-- 5.4 KB
bpf_load.c -rw-r--r-- 16.3 KB
bpf_load.h -rw-r--r-- 1.6 KB
cookie_uid_helper_example.c -rw-r--r-- 9.2 KB
cpustat_kern.c -rw-r--r-- 7.0 KB
cpustat_user.c -rw-r--r-- 4.7 KB
do_hbm_test.sh -rwxr-xr-x 12.1 KB
fds_example.c -rw-r--r-- 4.2 KB
hash_func01.h -rw-r--r-- 1.3 KB
hbm.c -rw-r--r-- 13.2 KB
hbm.h -rw-r--r-- 1.2 KB
hbm_edt_kern.c -rw-r--r-- 5.3 KB
hbm_kern.h -rw-r--r-- 5.9 KB
hbm_out_kern.c -rw-r--r-- 5.5 KB
ibumad_kern.c -rw-r--r-- 3.0 KB
ibumad_user.c -rw-r--r-- 2.5 KB
lathist_kern.c -rw-r--r-- 2.1 KB
lathist_user.c -rw-r--r-- 1.8 KB
lwt_len_hist.sh -rw-r--r-- 956 bytes
lwt_len_hist_kern.c -rw-r--r-- 1.8 KB
lwt_len_hist_user.c -rw-r--r-- 1.7 KB
map_perf_test_kern.c -rw-r--r-- 6.1 KB
map_perf_test_user.c -rw-r--r-- 10.4 KB
offwaketime_kern.c -rw-r--r-- 3.5 KB
offwaketime_user.c -rw-r--r-- 2.4 KB
parse_ldabs.c -rw-r--r-- 1.2 KB
parse_simple.c -rw-r--r-- 1.3 KB
parse_varlen.c -rw-r--r-- 3.4 KB
run_cookie_uid_helper_example.sh -rwxr-xr-x 341 bytes
sampleip_kern.c -rw-r--r-- 924 bytes
sampleip_user.c -rw-r--r-- 4.2 KB
sock_example.c -rw-r--r-- 2.9 KB
sock_example.h -rw-r--r-- 814 bytes
sock_flags_kern.c -rw-r--r-- 1.2 KB
sockex1_kern.c -rw-r--r-- 648 bytes
sockex1_user.c -rw-r--r-- 1.1 KB
sockex2_kern.c -rw-r--r-- 4.7 KB
sockex2_user.c -rw-r--r-- 1.2 KB
sockex3_kern.c -rw-r--r-- 6.1 KB
sockex3_user.c -rw-r--r-- 1.9 KB
spintest_kern.c -rw-r--r-- 2.1 KB
spintest_user.c -rw-r--r-- 1.2 KB
syscall_nrs.c -rw-r--r-- 267 bytes
syscall_tp_kern.c -rw-r--r-- 1.2 KB
syscall_tp_user.c -rw-r--r-- 2.4 KB
task_fd_query_kern.c -rw-r--r-- 412 bytes
task_fd_query_user.c -rw-r--r-- 10.5 KB
tc_l2_redirect.sh -rwxr-xr-x 4.9 KB
tc_l2_redirect_kern.c -rw-r--r-- 6.0 KB
tc_l2_redirect_user.c -rw-r--r-- 1.3 KB
tcbpf1_kern.c -rw-r--r-- 2.5 KB
tcp_basertt_kern.c -rw-r--r-- 1.7 KB
tcp_bpf.readme -rw-r--r-- 1.1 KB
tcp_bufs_kern.c -rw-r--r-- 2.1 KB
tcp_clamp_kern.c -rw-r--r-- 2.7 KB
tcp_cong_kern.c -rw-r--r-- 1.9 KB
tcp_dumpstats_kern.c -rw-r--r-- 1.3 KB
tcp_iw_kern.c -rw-r--r-- 2.2 KB
tcp_rwnd_kern.c -rw-r--r-- 1.7 KB
tcp_synrto_kern.c -rw-r--r-- 1.7 KB
tcp_tos_reflect_kern.c -rw-r--r-- 1.8 KB
test_cgrp2_array_pin.c -rw-r--r-- 2.1 KB
test_cgrp2_attach.c -rw-r--r-- 4.6 KB
test_cgrp2_sock.c -rw-r--r-- 6.2 KB
test_cgrp2_sock.sh -rwxr-xr-x 2.9 KB
test_cgrp2_sock2.c -rw-r--r-- 1.4 KB
test_cgrp2_sock2.sh -rwxr-xr-x 1.5 KB
test_cgrp2_tc.sh -rwxr-xr-x 4.2 KB
test_cgrp2_tc_kern.c -rw-r--r-- 1.8 KB
test_cls_bpf.sh -rwxr-xr-x 915 bytes
test_current_task_under_cgroup_kern.c -rw-r--r-- 1.1 KB
test_current_task_under_cgroup_user.c -rw-r--r-- 1.5 KB
test_ipip.sh -rwxr-xr-x 5.6 KB
test_lru_dist.c -rw-r--r-- 12.0 KB
test_lwt_bpf.c -rw-r--r-- 6.0 KB
test_lwt_bpf.sh -rw-r--r-- 9.0 KB
test_map_in_map_kern.c -rw-r--r-- 3.8 KB
test_map_in_map_user.c -rw-r--r-- 3.0 KB
test_overhead_kprobe_kern.c -rw-r--r-- 1.0 KB
test_overhead_raw_tp_kern.c -rw-r--r-- 357 bytes
test_overhead_tp_kern.c -rw-r--r-- 828 bytes
test_overhead_user.c -rw-r--r-- 3.6 KB
test_override_return.sh -rwxr-xr-x 263 bytes
test_probe_write_user_kern.c -rw-r--r-- 1.6 KB
test_probe_write_user_user.c -rw-r--r-- 2.5 KB
trace_event_kern.c -rw-r--r-- 2.3 KB
trace_event_user.c -rw-r--r-- 6.9 KB
trace_output_kern.c -rw-r--r-- 609 bytes
trace_output_user.c -rw-r--r-- 2.0 KB
tracex1_kern.c -rw-r--r-- 1.4 KB
tracex1_user.c -rw-r--r-- 440 bytes
tracex2_kern.c -rw-r--r-- 2.3 KB
tracex2_user.c -rw-r--r-- 3.3 KB
tracex3_kern.c -rw-r--r-- 2.1 KB
tracex3_user.c -rw-r--r-- 3.1 KB
tracex4_kern.c -rw-r--r-- 1.2 KB
tracex4_user.c -rw-r--r-- 1.5 KB
tracex5_kern.c -rw-r--r-- 2.0 KB
tracex5_user.c -rw-r--r-- 1.1 KB
tracex6_kern.c -rw-r--r-- 1.5 KB
tracex6_user.c -rw-r--r-- 4.6 KB
tracex7_kern.c -rw-r--r-- 335 bytes
tracex7_user.c -rw-r--r-- 484 bytes
xdp1_kern.c -rw-r--r-- 2.1 KB
xdp1_user.c -rw-r--r-- 3.3 KB
xdp2_kern.c -rw-r--r-- 2.4 KB
xdp2skb_meta.sh -rwxr-xr-x 4.5 KB
xdp2skb_meta_kern.c -rw-r--r-- 3.0 KB
xdp_adjust_tail_kern.c -rw-r--r-- 3.7 KB
xdp_adjust_tail_user.c -rw-r--r-- 4.2 KB
xdp_fwd_kern.c -rw-r--r-- 3.6 KB
xdp_fwd_user.c -rw-r--r-- 3.1 KB
xdp_monitor_kern.c -rw-r--r-- 6.7 KB
xdp_monitor_user.c -rw-r--r-- 17.1 KB
xdp_redirect_cpu_kern.c -rw-r--r-- 17.0 KB
xdp_redirect_cpu_user.c -rw-r--r-- 19.3 KB
xdp_redirect_kern.c -rw-r--r-- 2.1 KB
xdp_redirect_map_kern.c -rw-r--r-- 2.2 KB
xdp_redirect_map_user.c -rw-r--r-- 5.3 KB
xdp_redirect_user.c -rw-r--r-- 5.3 KB
xdp_router_ipv4_kern.c -rw-r--r-- 4.4 KB
xdp_router_ipv4_user.c -rw-r--r-- 18.4 KB
xdp_rxq_info_kern.c -rw-r--r-- 3.2 KB
xdp_rxq_info_user.c -rw-r--r-- 14.0 KB
xdp_sample_pkts_kern.c -rw-r--r-- 1.6 KB
xdp_sample_pkts_user.c -rw-r--r-- 4.6 KB
xdp_tx_iptunnel_common.h -rw-r--r-- 485 bytes
xdp_tx_iptunnel_kern.c -rw-r--r-- 5.6 KB
xdp_tx_iptunnel_user.c -rw-r--r-- 7.4 KB
xdpsock_user.c -rw-r--r-- 15.8 KB

README.rst

back to top