summaryrefslogtreecommitdiffstats
path: root/package/kernel/broadcom-wl/patches/919-fix-compilation-warning-for-stack-limit.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/kernel/broadcom-wl/patches/919-fix-compilation-warning-for-stack-limit.patch')
-rw-r--r--package/kernel/broadcom-wl/patches/919-fix-compilation-warning-for-stack-limit.patch297
1 files changed, 0 insertions, 297 deletions
diff --git a/package/kernel/broadcom-wl/patches/919-fix-compilation-warning-for-stack-limit.patch b/package/kernel/broadcom-wl/patches/919-fix-compilation-warning-for-stack-limit.patch
deleted file mode 100644
index 3149ce34b9..0000000000
--- a/package/kernel/broadcom-wl/patches/919-fix-compilation-warning-for-stack-limit.patch
+++ /dev/null
@@ -1,297 +0,0 @@
---- a/driver/wl_iw.c
-+++ b/driver/wl_iw.c
-@@ -495,9 +495,9 @@ wl_iw_get_range(
- )
- {
- struct iw_range *range = (struct iw_range *) extra;
-- int channels[MAXCHANNEL+1];
-- wl_uint32_list_t *list = (wl_uint32_list_t *) channels;
-- wl_rateset_t rateset;
-+ int *channels;
-+ wl_uint32_list_t *list;
-+ wl_rateset_t *rateset;
- int error, i;
- uint sf, ch;
-
-@@ -506,6 +506,17 @@ wl_iw_get_range(
- if (!extra)
- return -EINVAL;
-
-+ channels = kcalloc(MAXCHANNEL+1, sizeof(*channels), GFP_KERNEL);
-+ if (!channels)
-+ return -ENOMEM;
-+ list = (wl_uint32_list_t *) channels;
-+
-+ rateset = kzalloc(sizeof(*rateset), GFP_KERNEL);
-+ if (!rateset) {
-+ error = -ENOMEM;
-+ goto free_channels;
-+ }
-+
- dwrq->length = sizeof(struct iw_range);
- memset(range, 0, sizeof(range));
-
-@@ -514,8 +525,9 @@ wl_iw_get_range(
-
- /* Set available channels/frequencies */
- list->count = htod32(MAXCHANNEL);
-- if ((error = dev_wlc_ioctl(dev, WLC_GET_VALID_CHANNELS, channels, sizeof(channels))))
-- return error;
-+ if ((error = dev_wlc_ioctl(dev, WLC_GET_VALID_CHANNELS, channels,
-+ (MAXCHANNEL+1) * sizeof(*channels))))
-+ goto free_rateset;
- for (i = 0; i < dtoh32(list->count) && i < IW_MAX_FREQUENCIES; i++) {
- range->freq[i].i = dtoh32(list->element[i]);
-
-@@ -549,19 +561,19 @@ wl_iw_get_range(
- #endif /* WIRELESS_EXT > 11 */
-
- /* Set available bitrates */
-- if ((error = dev_wlc_ioctl(dev, WLC_GET_CURR_RATESET, &rateset, sizeof(rateset))))
-- return error;
-- rateset.count = dtoh32(rateset.count);
-- range->num_bitrates = rateset.count;
-- for (i = 0; i < rateset.count && i < IW_MAX_BITRATES; i++)
-- range->bitrate[i] = (rateset.rates[i] & 0x7f) * 500000; /* convert to bps */
-+ if ((error = dev_wlc_ioctl(dev, WLC_GET_CURR_RATESET, rateset, sizeof(*rateset))))
-+ goto free_rateset;
-+ rateset->count = dtoh32(rateset->count);
-+ range->num_bitrates = rateset->count;
-+ for (i = 0; i < rateset->count && i < IW_MAX_BITRATES; i++)
-+ range->bitrate[i] = (rateset->rates[i] & 0x7f) * 500000; /* convert to bps */
-
- /* Set an indication of the max TCP throughput
- * in bit/s that we can expect using this interface.
- * May be use for QoS stuff... Jean II
- */
- if ((error = dev_wlc_ioctl(dev, WLC_GET_PHYTYPE, &i, sizeof(i))))
-- return error;
-+ goto free_rateset;
- i = dtoh32(i);
- if (i == WLC_PHY_TYPE_A)
- range->throughput = 24000000; /* 24 Mbits/s */
-@@ -624,7 +636,12 @@ wl_iw_get_range(
- #endif
- #endif /* WIRELESS_EXT > 17 */
-
-- return 0;
-+free_rateset:
-+ kfree(rateset);
-+free_channels:
-+ kfree(channels);
-+
-+ return error;
- }
-
- static int
---- a/driver/bcmsrom.c
-+++ b/driver/bcmsrom.c
-@@ -437,20 +437,37 @@ srom_write(si_t *sih, uint bustype, void *curmap, osl_t *osh,
- uint byteoff, uint nbytes, uint16 *buf)
- {
- uint i, nw, crc_range;
-- uint16 old[SROM_MAXW], new[SROM_MAXW];
-+ uint16 *old, *new;
- uint8 crc;
- volatile uint32 val32;
-+ int rc = 0;
-
- ASSERT(bustype == BUSTYPE(bustype));
-
-+ old = MALLOC(osh, SROM_MAXW);
-+ ASSERT(old != NULL);
-+ if (!old)
-+ return -2;
-+
-+ new = MALLOC(osh, SROM_MAXW);
-+ ASSERT(new != NULL);
-+ if (!new) {
-+ rc = -2;
-+ goto free_old;
-+ }
-+
- /* check input - 16-bit access only. use byteoff 0x55aa to indicate
- * srclear
- */
-- if ((byteoff != 0x55aa) && ((byteoff & 1) || (nbytes & 1)))
-- return 1;
-+ if ((byteoff != 0x55aa) && ((byteoff & 1) || (nbytes & 1))) {
-+ rc = 1;
-+ goto free_new;
-+ }
-
-- if ((byteoff != 0x55aa) && ((byteoff + nbytes) > SROM_MAX))
-- return 1;
-+ if ((byteoff != 0x55aa) && ((byteoff + nbytes) > SROM_MAX)) {
-+ rc = 1;
-+ goto free_new;
-+ }
-
- if (BUSTYPE(bustype) == PCMCIA_BUS) {
- crc_range = SROM_MAX;
-@@ -467,8 +484,10 @@ srom_write(si_t *sih, uint bustype, void *curmap, osl_t *osh,
-
- nw = crc_range / 2;
- /* read first small number words from srom, then adjust the length, read all */
-- if (srom_read(sih, bustype, curmap, osh, 0, crc_range, old, FALSE))
-- return 1;
-+ if (srom_read(sih, bustype, curmap, osh, 0, crc_range, old, FALSE)) {
-+ rc = 1;
-+ goto free_new;
-+ }
-
- BS_ERROR(("%s: old[SROM4_SIGN] 0x%x, old[SROM8_SIGN] 0x%x\n",
- __FUNCTION__, old[SROM4_SIGN], old[SROM8_SIGN]));
-@@ -481,10 +500,13 @@ srom_write(si_t *sih, uint bustype, void *curmap, osl_t *osh,
- __FUNCTION__, buf[SROM4_SIGN], buf[SROM8_SIGN]));
-
- /* block invalid buffer size */
-- if (nbytes < SROM4_WORDS * 2)
-- return BCME_BUFTOOSHORT;
-- else if (nbytes > SROM4_WORDS * 2)
-- return BCME_BUFTOOLONG;
-+ if (nbytes < SROM4_WORDS * 2) {
-+ rc = BCME_BUFTOOSHORT;
-+ goto free_new;
-+ } else if (nbytes > SROM4_WORDS * 2) {
-+ rc = BCME_BUFTOOLONG;
-+ goto free_new;
-+ }
-
- nw = SROM4_WORDS;
- } else if (nbytes == SROM_WORDS * 2){ /* the other possible SROM format */
-@@ -493,17 +515,22 @@ srom_write(si_t *sih, uint bustype, void *curmap, osl_t *osh,
- nw = SROM_WORDS;
- } else {
- BS_ERROR(("%s: Invalid input file signature\n", __FUNCTION__));
-- return BCME_BADARG;
-+ rc = BCME_BADARG;
-+ goto free_new;
- }
- crc_range = nw * 2;
-- if (srom_read(sih, bustype, curmap, osh, 0, crc_range, old, FALSE))
-- return 1;
-+ if (srom_read(sih, bustype, curmap, osh, 0, crc_range, old, FALSE)) {
-+ rc = 1;
-+ goto free_new;
-+ }
- } else if ((old[SROM4_SIGN] == SROM4_SIGNATURE) ||
- (old[SROM8_SIGN] == SROM4_SIGNATURE)) {
- nw = SROM4_WORDS;
- crc_range = nw * 2;
-- if (srom_read(sih, bustype, curmap, osh, 0, crc_range, old, FALSE))
-- return 1;
-+ if (srom_read(sih, bustype, curmap, osh, 0, crc_range, old, FALSE)) {
-+ rc = 1;
-+ goto free_new;
-+ }
- } else {
- /* Assert that we have already read enough for sromrev 2 */
- ASSERT(crc_range >= SROM_WORDS * 2);
-@@ -562,8 +589,10 @@ srom_write(si_t *sih, uint bustype, void *curmap, osl_t *osh,
- }
- } else if (BUSTYPE(bustype) == PCMCIA_BUS) {
- /* enable writes to the SPROM */
-- if (sprom_cmd_pcmcia(osh, SROM_WEN))
-- return 1;
-+ if (sprom_cmd_pcmcia(osh, SROM_WEN)) {
-+ rc = 1;
-+ goto free_new;
-+ }
- bcm_mdelay(WRITE_ENABLE_DELAY);
- /* write srom */
- for (i = 0; i < nw; i++) {
-@@ -573,14 +602,15 @@ srom_write(si_t *sih, uint bustype, void *curmap, osl_t *osh,
- }
- }
- /* disable writes to the SPROM */
-- if (sprom_cmd_pcmcia(osh, SROM_WDS))
-- return 1;
-+ if (sprom_cmd_pcmcia(osh, SROM_WDS)) {
-+ rc = 1;
-+ goto free_new;
-+ }
- } else if (BUSTYPE(bustype) == SI_BUS) {
- #if defined(BCMUSBDEV)
- if (SPROMBUS == PCMCIA_BUS) {
- uint origidx;
- void *regs;
-- int rc;
- bool wasup;
-
- origidx = si_coreidx(sih);
-@@ -596,16 +626,24 @@ srom_write(si_t *sih, uint bustype, void *curmap, osl_t *osh,
- si_core_disable(sih, 0);
-
- si_setcoreidx(sih, origidx);
-- return rc;
-+ goto free_new;
- }
- #endif
-- return 1;
-+ rc = 1;
-+ goto free_new;
- } else {
-- return 1;
-+ rc = 1;
-+ goto free_new;
- }
-
- bcm_mdelay(WRITE_ENABLE_DELAY);
-- return 0;
-+ rc = 0;
-+
-+free_new:
-+ MFREE(osh, new, SROM_MAXW);
-+free_old:
-+ MFREE(osh, old, SROM_MAXW);
-+ return rc;
- }
-
- #if defined(BCMUSBDEV)
---- a/driver/linux_osl.c
-+++ b/driver/linux_osl.c
-@@ -600,20 +600,29 @@ int
- osl_printf(const char *format, ...)
- {
- va_list args;
-- char buf[1024];
-+ char *buf;
- int len;
-
-+ buf = kcalloc(1024, sizeof(*buf), GFP_KERNEL);
-+ if (!buf)
-+ return (-ENOMEM);
-+
- /* sprintf into a local buffer because there *is* no "vprintk()".. */
- va_start(args, format);
- len = vsnprintf(buf, 1024, format, args);
- va_end(args);
-
-- if (len > sizeof(buf)) {
-+ if (len > (sizeof(*buf) * 1024)) {
- printk("osl_printf: buffer overrun\n");
-- return (0);
-+ goto exit;
- }
-
-- return (printk(buf));
-+ printk(buf);
-+
-+exit:
-+ kfree(buf);
-+
-+ return (0);
- }
-
- int
---- a/driver/bcmutils.c
-+++ b/driver/bcmutils.c
-@@ -13,6 +13,7 @@
-
- #include <typedefs.h>
- #include <bcmdefs.h>
-+#define __need___va_list
- #include <stdarg.h>
- #include <bcmutils.h>
- #ifdef BCMDRIVER