]> git.hungrycats.org Git - linux/commitdiff
[PATCH] Reduce stack usage in ttusb driver.
authorDave Jones <davej@redhat.com>
Fri, 23 Jan 2004 00:12:09 +0000 (16:12 -0800)
committerLinus Torvalds <torvalds@home.osdl.org>
Fri, 23 Jan 2004 00:12:09 +0000 (16:12 -0800)
ARM_PACKET_SIZE is 4KB. Ouch.

drivers/media/dvb/ttusb-dec/ttusb_dec.c

index 1d1101d338aa3bf8a808506cfd0a9a83abd5c598..7aa1fe2cb326495a0aeaba44c68b0da5b24f0bf7 100644 (file)
@@ -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;
 }