Without this patch, the hardware *will* hang on <3.2 kernels when a
512-byte SDIO transfer occurs.

3.2-rc added an SDIO quirk to work around this, so this code was
stripped from the driver when committed to the mainline.

Signed-off-by: Solomon Peachy <[email protected]>
---
 .../network/75-cw1200-sdio-quirk/cw1200.patch             | 15 +++++++++++++++
 1 file changed, 15 insertions(+)
 create mode 100644 
patches/collateral-evolutions/network/75-cw1200-sdio-quirk/cw1200.patch

diff --git 
a/patches/collateral-evolutions/network/75-cw1200-sdio-quirk/cw1200.patch 
b/patches/collateral-evolutions/network/75-cw1200-sdio-quirk/cw1200.patch
new file mode 100644
index 0000000..2533051
--- /dev/null
+++ b/patches/collateral-evolutions/network/75-cw1200-sdio-quirk/cw1200.patch
@@ -0,0 +1,15 @@
+--- a/drivers/net/wireless/cw1200/cw1200_sdio.c
++++ b/drivers/net/wireless/cw1200/cw1200_sdio.c
+@@ -253,6 +253,12 @@ static size_t cw1200_sdio_align_size(struct hwbus_priv 
*self, size_t size)
+       else
+               size = sdio_align_size(self->func, size);
+ 
++#if (LINUX_VERSION_CODE < KERNEL_VERSION(3, 2, 0))
++      /* A quirk to handle this was committed in 3.2-rc */
++      if (size == SDIO_BLOCK_SIZE)
++              size += SDIO_BLOCK_SIZE;  /* HW bug; force use of block mode */
++#endif
++
+       return size;
+ }
+ 
-- 
1.8.3.1

--
To unsubscribe from this list: send the line "unsubscribe backports" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to