aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/bcm53xx/patches-3.10/105-bcma-fix-handling-of-big-addrl.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/bcm53xx/patches-3.10/105-bcma-fix-handling-of-big-addrl.patch')
-rw-r--r--target/linux/bcm53xx/patches-3.10/105-bcma-fix-handling-of-big-addrl.patch81
1 files changed, 0 insertions, 81 deletions
diff --git a/target/linux/bcm53xx/patches-3.10/105-bcma-fix-handling-of-big-addrl.patch b/target/linux/bcm53xx/patches-3.10/105-bcma-fix-handling-of-big-addrl.patch
deleted file mode 100644
index 3d261b99e1..0000000000
--- a/target/linux/bcm53xx/patches-3.10/105-bcma-fix-handling-of-big-addrl.patch
+++ /dev/null
@@ -1,81 +0,0 @@
-bcma: fix handling of big addrl
-
-The return value of bcma_erom_get_addr_desc() is a unsigned value and it
-could wrap around in the two complement writing. This happens for one
-core in the BCM4708 SoC.
-
-Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
----
- drivers/bcma/scan.c | 16 ++++++++--------
- 1 file changed, 8 insertions(+), 8 deletions(-)
-
---- a/drivers/bcma/scan.c
-+++ b/drivers/bcma/scan.c
-@@ -213,7 +213,7 @@ static s32 bcma_erom_get_mst_port(struct
- return ent;
- }
-
--static s32 bcma_erom_get_addr_desc(struct bcma_bus *bus, u32 __iomem **eromptr,
-+static u32 bcma_erom_get_addr_desc(struct bcma_bus *bus, u32 __iomem **eromptr,
- u32 type, u8 port)
- {
- u32 addrl, addrh, sizel, sizeh = 0;
-@@ -225,7 +225,7 @@ static s32 bcma_erom_get_addr_desc(struc
- ((ent & SCAN_ADDR_TYPE) != type) ||
- (((ent & SCAN_ADDR_PORT) >> SCAN_ADDR_PORT_SHIFT) != port)) {
- bcma_erom_push_ent(eromptr);
-- return -EINVAL;
-+ return (u32)-EINVAL;
- }
-
- addrl = ent & SCAN_ADDR_ADDR;
-@@ -273,7 +273,7 @@ static int bcma_get_next_core(struct bcm
- struct bcma_device_id *match, int core_num,
- struct bcma_device *core)
- {
-- s32 tmp;
-+ u32 tmp;
- u8 i, j;
- s32 cia, cib;
- u8 ports[2], wrappers[2];
-@@ -351,11 +351,11 @@ static int bcma_get_next_core(struct bcm
- * the main register space for the core
- */
- tmp = bcma_erom_get_addr_desc(bus, eromptr, SCAN_ADDR_TYPE_SLAVE, 0);
-- if (tmp <= 0) {
-+ if (tmp == 0 || IS_ERR_VALUE(tmp)) {
- /* Try again to see if it is a bridge */
- tmp = bcma_erom_get_addr_desc(bus, eromptr,
- SCAN_ADDR_TYPE_BRIDGE, 0);
-- if (tmp <= 0) {
-+ if (tmp == 0 || IS_ERR_VALUE(tmp)) {
- return -EILSEQ;
- } else {
- bcma_info(bus, "Bridge found\n");
-@@ -369,7 +369,7 @@ static int bcma_get_next_core(struct bcm
- for (j = 0; ; j++) {
- tmp = bcma_erom_get_addr_desc(bus, eromptr,
- SCAN_ADDR_TYPE_SLAVE, i);
-- if (tmp < 0) {
-+ if (IS_ERR_VALUE(tmp)) {
- /* no more entries for port _i_ */
- /* pr_debug("erom: slave port %d "
- * "has %d descriptors\n", i, j); */
-@@ -386,7 +386,7 @@ static int bcma_get_next_core(struct bcm
- for (j = 0; ; j++) {
- tmp = bcma_erom_get_addr_desc(bus, eromptr,
- SCAN_ADDR_TYPE_MWRAP, i);
-- if (tmp < 0) {
-+ if (IS_ERR_VALUE(tmp)) {
- /* no more entries for port _i_ */
- /* pr_debug("erom: master wrapper %d "
- * "has %d descriptors\n", i, j); */
-@@ -404,7 +404,7 @@ static int bcma_get_next_core(struct bcm
- for (j = 0; ; j++) {
- tmp = bcma_erom_get_addr_desc(bus, eromptr,
- SCAN_ADDR_TYPE_SWRAP, i + hack);
-- if (tmp < 0) {
-+ if (IS_ERR_VALUE(tmp)) {
- /* no more entries for port _i_ */
- /* pr_debug("erom: master wrapper %d "
- * has %d descriptors\n", i, j); */