Force Detect uSD card with Legato's wp85 mangoh green board

So When I have uSD card already in before i startup the system it shows up under /dev/mmcblk0. When i do dmseg | grep mmc i get the following:

root@swi-mdm9x15:~# dmesg | grep mmc
[    9.166061] mmc0: mci-version: 18
[    9.175583] mmc0: bam physical base=0x12182000
[    9.179032] mmc0: bam virtual base=0xd0304000
[    9.195421] mmc0: BAM device registered. bam_handle=0xce6a0400
[    9.213520] mmc0: Qualcomm MSM SDCC-BAM at 0x0000000012182000 irq 130
[    9.219105] mmc0: Qualcomm MSM SDCC-DML at 0x0000000012180800
[    9.224752] mmc0: No card detect facilities available
[    9.234030] mmc0: Qualcomm MSM SDCC-core at 0x0000000012180000 irq 136,0 dma -1 dmacrcri -1
[    9.255394] mmc0: 8 bit data mode disabled
[    9.258477] mmc0: 4 bit data mode enabled
[    9.262475] mmc0: polling status mode disabled
[    9.272516] mmc0: MMC clock 400000 -> 48000000 Hz, PCLK 0 Hz
[    9.301205] mmc0: Slot eject status = 0
[    9.314512] mmc0: Power save feature enable = 1
[    9.323515] mmc0: SPS-BAM data transfer mode available
[    9.453044] mmc0: host does not support reading read-only switch. assuming write-enable.
[    9.482679] mmc0: new high speed SDHC card at address 1234
[    9.515458] mmcblk0: mmc0:1234 SA04G 3.70 GiB 
[    9.587822]  mmcblk0: p1

Now the issue is when I try to plug in the uSD card while the device is already running I never am able to detect it. no /dev/mmcblk0 shows and demsg|grep mmc give this

root@swi-mdm9x15:~# dmesg | grep mmc
[    9.603998] mmc0: mci-version: 18
[    9.607355] mmc0: bam physical base=0x12182000
[    9.610773] mmc0: bam virtual base=0xd0374000
[    9.626827] mmc0: BAM device registered. bam_handle=0xce5fbe00
[    9.641843] mmc0: Qualcomm MSM SDCC-BAM at 0x0000000012182000 irq 130
[    9.647398] mmc0: Qualcomm MSM SDCC-DML at 0x0000000012180800
[    9.653074] mmc0: No card detect facilities available
[    9.662536] mmc0: Qualcomm MSM SDCC-core at 0x0000000012180000 irq 136,0 dma -1 dmacrcri -1
[    9.683931] mmc0: 8 bit data mode disabled
[    9.687013] mmc0: 4 bit data mode enabled
[    9.691011] mmc0: polling status mode disabled
[    9.701052] mmc0: MMC clock 400000 -> 48000000 Hz, PCLK 0 Hz
[    9.726964] mmc0: Slot eject status = 0
[    9.745704] mmc0: Power save feature enable = 1
[    9.770761] mmc0: SPS-BAM data transfer mode available

I’m using a 4GB Kingston uSD card. How to force the system to redetect that my SD card is in?

we are also facing same We have gone through code and found that irq is not registering during removing of SD card and during hot plug when probing.hence it is not able to detect changes.
Please check msm_sdcc.c file in drivers/mmc/host directory.

So I found out how to force the detect for SD card. we should run the following commands in command line:

rmmod msm_sdcc
modprobe msm_sdcc

this will force the mmc driver reset and when it is restarted and the SD card is already in it then it should catch it so when we run dmesg we can confirm that:

[    9.681092] mmc0: mci-version: 18
[    9.690126] mmc0: bam physical base=0x12182000
[    9.693575] mmc0: bam virtual base=0xd0374000
[    9.711307] mmc0: BAM device registered. bam_handle=0xce601e00
[    9.721562] mmc0: Qualcomm MSM SDCC-BAM at 0x0000000012182000 irq 130
[    9.727300] mmc0: Qualcomm MSM SDCC-DML at 0x0000000012180800
[    9.733312] mmc0: No card detect facilities available
[    9.742285] mmc0: Qualcomm MSM SDCC-core at 0x0000000012180000 irq 136,0 dma -1 dmacrcri -1
[    9.760018] mmc0: 8 bit data mode disabled
[    9.763741] mmc0: 4 bit data mode enabled
[    9.767099] mmc0: polling status mode disabled
[    9.780466] mmc0: MMC clock 400000 -> 48000000 Hz, PCLK 0 Hz
[    9.806256] mmc0: Slot eject status = 0
[    9.830428] mmc0: Power save feature enable = 1
[    9.855516] mmc0: SPS-BAM data transfer mode available
[78481.914381] mmc0: mci-version: 18
[78481.920820] mmc0: bam physical base=0x12182000
[78481.929580] mmc0: bam virtual base=0xd0648000
[78481.964922] mmc0: BAM device registered. bam_handle=0xcc178200
[78481.981556] mmc0: Qualcomm MSM SDCC-BAM at 0x0000000012182000 irq 130
[78482.000601] mmc0: Qualcomm MSM SDCC-DML at 0x0000000012180800
[78482.017570] mmc0: No card detect facilities available
[78482.045252] mmc0: Qualcomm MSM SDCC-core at 0x0000000012180000 irq 136,0 dma -1 dmacrcri -1
[78482.062862] mmc0: 8 bit data mode disabled
[78482.074063] mmc0: 4 bit data mode enabled
[78482.095305] mmc0: polling status mode disabled
[78482.107819] mmc0: MMC clock 400000 -> 48000000 Hz, PCLK 0 Hz
[78482.133792] mmc0: Slot eject status = 0
[78482.152684] mmc0: Power save feature enable = 1
[78482.160680] mmc0: SPS-BAM data transfer mode available
[78482.205911] mmc0: host does not support reading read-only switch. assuming write-enable.
[78482.228435] mmc0: new high speed SDHC card at address 1234
[78482.240491] mmcblk0: mmc0:1234 SA04G 3.70 GiB 
[78482.310840]  mmcblk0: p1