[HTC Desire X] detlef25:
Hi all,

a friends Desire X took an unfortunate swim in a washing machine. Since then, it will hang with a black screen with backlight on about four times a week, mostly when it isn't actively used. /proc/last_kmsg contains:

[ 5105.131426] C0 mmc0: Deferred resume completed
[ 5110.136727] C0 mmc0: Starting deferred resume
[ 5120.175589] C0 mmc0: CMD5: Request timeout
[ 5120.175777] C0 mmc0: SDCC PWR is ON
[ 5120.176006] C0 mmc0: SDCC clks are ON, MCLK rate=144000
[ 5120.176322] C0 mmc0: SDCC irq is enabled
[ 5120.176497] C0 ===== SDCC-CORE: Register Dumps @phys_base=0xa0600000, @virt_base=0xcf824000 =====
[ 5120.176821] C0 Reg=0x00: 0x00000001, 0x00009100, 0x00010000, 0x00000c45
[ 5120.177142] C0 Reg=0x10: 0x00000005, 0x00001500, 0x0f5903ff, 0xffffffe7
[ 5120.177326] C0 Reg=0x20: 0x8a4040e2, 0x039396a0, 0x00001000, 0x00022008
[ 5120.177646] C0 Reg=0x30: 0x00000000, 0x00000400, 0x00000000, 0x008001ff
[ 5120.177826] C0 Reg=0x40: 0x00000000, 0x00000000, 0x00000000, 0x00000000
[ 5120.178146] C0 Reg=0x50: 0x00000000, 0x00000000, 0x00000000, 0x00000000
[ 5120.178466] C0 Reg=0x60: 0x00000000, 0x00000000, 0x00000000, 0x00000000
[ 5120.178649] C0 mmc0: got_dataend=0, prog_enable=1, wait_for_auto_prog_done=0, got_auto_prog_done=0, req_tout_ms=10000
[ 5120.178981] C0 mmc0: RPM: runtime_status=0, usage_count=1, is_suspended=0, disable_depth=0, runtime_error=0, request_pending=0, request=0
[ 5120.179422] C0 mmc0: Controller has been reinitialized
[ 5121.371397] C0 mmc0: Deferred resume Fail
[ 5121.372651] C0 mmc0: DMA channel flushed (0x80000004)
[ 5121.372836] C0 Flush data: 0000c003 11720000 00000000 00400040 003f003d 00008003
[ 5121.373254] C0 mmc0: Controller has been reinitialized
[ 5121.380404] C0 mmcblk0: error -110 sending status command, retrying
[ 5121.386454] C0 mmcblk0: error -110 sending status command, retrying
[ 5121.392637] C0 mmcblk0: error -110 sending status command, aborting
[ 5121.392831] C0 end_request: I/O error, dev mmcblk0, sector 5253328
[ 5121.393159] C0 Buffer I/O error on device mmcblk0p28, logical block 5402
[ 5121.393369] C0 EXT4-fs warning (device mmcblk0p28): ext4_end_bio:258: I/O error writing to inode 19 (offset 368640 size 4096 starting block 656667)
[ 5121.393879] C0 JBD2: Detected IO errors while flushing file data on mmcblk0p28-8
[ 5121.395007] C0 mmc0: DMA channel flushed (0x80000004)
[ 5121.395331] C0 Flush data: 0000c003 11720000 00000000 00400040 003f003d 00008003
[ 5121.395602] C0 mmc0: Controller has been reinitialized
[ 5121.402749] C0 mmcblk0: error -110 sending status command, retrying
[ 5121.408804] C0 mmcblk0: error -110 sending status command, retrying
[ 5121.414984] C0 mmcblk0: error -110 sending status command, aborting
[ 5121.415177] C0 end_request: I/O error, dev mmcblk0, sector 5218184
[ 5121.415514] C0 end_request: I/O error, dev mmcblk0, sector 5218192
[ 5121.415992] C0 Aborting journal on device mmcblk0p28-8.
[ 5121.416417] C0 EXT4-fs error (device mmcblk0p28) in ext4_reserve_inode_write:5645: Journal has aborted
[ 5121.418139] C0 mmc0: DMA channel flushed (0x80000004)
[ 5121.418334] C0 Flush data: 0000c003 11720000 00000000 00400040 003f003d 00008003
[ 5121.418767] C0 mmc0: Controller has been reinitialized
[ 5121.425804] C0 mmcblk0: error -110 sending status command, retrying
[ 5121.431986] C0 mmcblk0: error -110 sending status command, retrying
[ 5121.438059] C0 mmcblk0: error -110 sending status command, aborting
[ 5121.438246] C0 end_request: I/O error, dev mmcblk0, sector 5210960
[ 5121.438571] C0 Buffer I/O error on device mmcblk0p28, logical block 106
[ 5121.438751] C0 lost page write due to I/O error on mmcblk0p28
[ 5121.439099] C0 JBD2: I/O error detected when updating journal superblock for mmcblk0p28-8.
[ 5121.440251] C0 mmc0: DMA channel flushed (0x80000004)
[ 5121.440571] C0 Flush data: 0000c003 11720000 00000000 00400040 003f003d 00008003
[ 5121.440989] C0 mmc0: Controller has been reinitialized
[ 5121.447992] C0 mmcblk0: error -110 sending status command, retrying
[ 5121.454177] C0 mmcblk0: error -110 sending status command, retrying
[ 5121.460227] C0 mmcblk0: error -110 sending status command, aborting
[ 5121.460551] C0 end_request: I/O error, dev mmcblk0, sector 5210112
[ 5121.460734] C0 Buffer I/O error on device mmcblk0p28, logical block 0
[ 5121.461052] C0 lost page write due to I/O error on mmcblk0p28
[ 5121.461262] C0 EXT4-fs (mmcblk0p28): Remounting filesystem read-only
[ 5121.461581] C0 ext4_e2fsck
[ 5121.465612] C0 ext4_reboot: reboot to run e2fsck
[ 5121.465796] C0 Take CPU down - Begin
[ 5121.466106] C0 Take CPU down - End
[ 5121.467227] C0 [BATT][tps65200] TPS65200 shutdown
[ 5121.473664] C0 Restarting system with command 'oem-22'.
[ 5121.473859] C0 [K] msm_pm_restart: restart_reason 0x6f656d22, cmd oem-22
[ 5121.474474] C0 [K] @@@@@@@@@@@ msm_proc_comm end
[ 5121.474659] C0 [K] from msm_pm_restart
[ 5122.621554] C0 [RMT] rmt_storage_event_write_iovec_cb: write iovec callback received
[ 5122.622382] C0 [RMT] handle = 1
[ 5122.622822] C0 [RMT] sec_addr = 0, data_addr = 300000, num_sec = 6143
[ 5122.623612] C0 [RMT] sec_addr = 6143, data_addr = 5ffe00, num_sec = 1
[ 5122.624066] C0 [RMT] iovec transfer count = 2
[ 5122.624089] C0
[ 5122.625316] C0 [RMT] rmt_storage_ioctl: ioctl cmd -2140093951 return value 0
[ 5122.626584] C0 [RMT] rmt_storage_ioctl: wait for request ioctl
[ 5122.640087] C0 [RMT] handle_rmt_storage_call: Sending result=0x0
[ 5122.839952] C0 mmc0: DMA channel flushed (0x80000004)
[ 5122.840149] C0 Flush data: 0000c003 11720000 00000000 00400040 003f003d 00008003
[ 5122.840561] C0 mmc0: Controller has been reinitialized
[ 5122.848189] C0 mmcblk0: error -110 sending status command, retrying
[ 5122.854384] C0 mmcblk0: error -110 sending status command, retrying
[ 5122.860802] C0 mmcblk0: error -110 sending status command, aborting
[ 5122.861214] C0 end_request: I/O error, dev mmcblk0, sector 131073
[ 5122.861404] C0 Buffer I/O error on device mmcblk0p13, logical block 0
[ 5122.861724] C0 lost page write due to I/O error on mmcblk0p13
[ 5122.861972] C0 end_request: I/O error, dev mmcblk0, sector 131081

So it seems it gets an I/O error while writing to /dev/mmcblk0p28, which is devlog, AFAICT the internal logfile HTC uses for service requests. It then wants to reboot but crashes during reboot because the eMMC isn't responding at all anymore.

Now my question: Would it be possible to remove the devlog mount? I haven't tried yet since this might lead to a bootloop, and I wanted to ask here for experiences first. Any hints greatly appreciated, also maybe other approaches than removing devlog?