diff options
author | Solomon Peachy <pizza@shaftnet.org> | 2013-08-15 08:55:57 -0400 |
---|---|---|
committer | Luis R. Rodriguez <mcgrof@do-not-panic.com> | 2013-08-15 20:06:44 -0700 |
commit | 717c0d9641595df05a301feea6eafc8c1d882a91 (patch) | |
tree | 08425825247a4e970cb3861d3a3c5bd7a802e926 /patches | |
parent | 885d00c8460e3103b284be3f3a7574552ef4e322 (diff) |
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 <pizza@shaftnet.org>
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
Diffstat (limited to 'patches')
-rw-r--r-- | patches/collateral-evolutions/network/75-cw1200-sdio-quirk/cw1200.patch | 15 |
1 files changed, 15 insertions, 0 deletions
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 00000000..25330510 --- /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; + } + |