From 717c0d9641595df05a301feea6eafc8c1d882a91 Mon Sep 17 00:00:00 2001 From: Solomon Peachy Date: Thu, 15 Aug 2013 08:55:57 -0400 Subject: [PATCH] backports: Add patch for cw1200_sdio with kernels < 3.2 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 Signed-off-by: Luis R. Rodriguez --- .../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 000000000000..25330510dc72 --- /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; + } + -- 2.30.2