mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 18:51:56 -04:00
[PATCH] pcmcia: multifunction card handling fixes
s->functions needs to be initialized earlier, for the "let's see how high it increases" approach means that pcmcia_request_irq() (which makes use of this value) is confused, and might request an exclusive IRQ first even though it is not supposed to. Also, a CIS override autoloaded using the firmware loader may allow for the use of more or less functions in a multifunction card. Therefore, we may need to schedule a call to add this second function later on, or simply remove the other function (it's always the first -valid- function which reaches this codepath). Many thanks to Fabrice Bellet for debugging and testing patches. Signed-off-by: Dominik Brodowski <[email protected]>
This commit is contained in:
parent
3e022d0c77
commit
1d2c90425d
2 changed files with 90 additions and 68 deletions
|
|
@ -262,9 +262,10 @@ struct pcmcia_socket {
|
|||
u8 present:1, /* PCMCIA card is present in socket */
|
||||
busy:1, /* "master" ioctl is used */
|
||||
dead:1, /* pcmcia module is being unloaded */
|
||||
device_add_pending:1, /* a pseudo-multifunction-device
|
||||
device_add_pending:1, /* a multifunction-device
|
||||
* add event is pending */
|
||||
reserved:4;
|
||||
mfc_pfc:1, /* the pending event adds a mfc (1) or pfc (0) */
|
||||
reserved:3;
|
||||
} pcmcia_state;
|
||||
|
||||
struct work_struct device_add; /* for adding further pseudo-multifunction
|
||||
|
|
|
|||
Loading…
Reference in a new issue