omap_hsmmc: sdio: issue with generic wakeup IRQ handling

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

On a custom built am335x based board, I am facing an issue mwifiex wifi
module which is connected to host via SDIO interface. I am using kernel
version 4.4.

The problem is related to the wifi "ext_scan" command getting timed out
over SDIO. This was working with old kernel (v4.0), but does not work on
kernel v4.4. I found the following commit is responsible for this
behavior.

=================================
5b83b2234be6733cfe22036c38031b2c890b3db8

mmc: omap_hsmmc: Change wake-up interrupt to use generic wakeirq 

We can now use generic wakeirq handling and remove the custom handling 
for the wake-up interrupts. 
=================================

There is no wifi issue if I revert the above mentioned commit on kernel
v4.4.

I see that before this commit, the wakeup IRQ handler was registered
within the omap_hsmmc.c itself with additional IRQF_TRIGGER_LOW flag.
But with the introduction to dev_pm_set_dedicated_wake_irq(), the
generic wakeup IRQ handler is registered which does not take the
IRQF_TRIGGER flag. I am not sure if that is the issue, but I added that
IRQF_TRIGGER_LOW flag in dev_pm_set_dedicated_wake_irq() while
registering a threaded IRQ handler, I could see the problem disappears.
However, this change is causing the infinite interrupts because the of
level triggered interrupt is not handled in generic wakeup IRQ handling
code (as it was done specially in omap_hsmmc.c code earlier). 

I am not much familiar with MMC/SDIO driver and I am not sure how to fix
this behavior. So any guidance would be really helpful.

Thanks,
Vishal
--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux