From 1a11fdedacb3f02b12b00777cdb7cddfc6d6c19f Mon Sep 17 00:00:00 2001 From: Dave Jones Date: Thu, 22 Jan 2004 16:12:09 -0800 Subject: [PATCH] [PATCH] Reduce stack usage in ttusb driver. ARM_PACKET_SIZE is 4KB. Ouch. --- drivers/media/dvb/ttusb-dec/ttusb_dec.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/drivers/media/dvb/ttusb-dec/ttusb_dec.c b/drivers/media/dvb/ttusb-dec/ttusb_dec.c index 1d1101d338aa3..7aa1fe2cb3264 100644 --- a/drivers/media/dvb/ttusb-dec/ttusb_dec.c +++ b/drivers/media/dvb/ttusb-dec/ttusb_dec.c @@ -1146,7 +1146,7 @@ static int ttusb_dec_boot_dsp(struct ttusb_dec *dec) 0x00, 0x00, 0x00, 0x00, 0x61, 0x00 }; u8 b1[] = { 0x61 }; - u8 b[ARM_PACKET_SIZE]; + u8 *b; char idstring[21]; u8 *firmware = NULL; size_t firmware_size = 0; @@ -1203,6 +1203,10 @@ static int ttusb_dec_boot_dsp(struct ttusb_dec *dec) trans_count = 0; j = 0; + b = kmalloc(ARM_PACKET_SIZE, GFP_KERNEL); + if (b == NULL) + return -ENOMEM; + for (i = 0; i < firmware_size; i += COMMAND_PACKET_SIZE) { size = firmware_size - i; if (size > COMMAND_PACKET_SIZE) @@ -1230,6 +1234,8 @@ static int ttusb_dec_boot_dsp(struct ttusb_dec *dec) result = ttusb_dec_send_command(dec, 0x43, sizeof(b1), b1, NULL, NULL); + kfree(b); + return result; } -- 2.53.0