On Mon, Jul 14, 2008 at 07:56:44AM -0700, David Woodhouse wrote: > On Mon, 2008-07-14 at 08:50 -0600, Matthew Wilcox wrote: > > I'm not quite sure whether my question was answered ... > > > > When firmware is built in, does > > 1) request_firmware() make a copy of it and then release_firmware free > > that copy? > > 2) request_firmware() return a pointer to the built-in firmware with > > release_firmware() being a no-op? > > 3) request_firmware() return a pointer to the built-in firmware with > > release_firmware() freeing the original? > > > > Cases 1 and 2 are fine, case 3 is a problem. > > Effectively (2). > > Actually we do allocate and free the 'struct firmware' but fw->data is > just pointed to the original blob, and then that blob doesn't get freed. Thanks. Revised patch Acked-by: Matthew Wilcox <willy@xxxxxxxxxxxxxxx> although I would like to see the firmware go under a BSD licence still. Something I'd like to get rid of in the driver is the decompression of the firmware files. I don't think AdvLoadMicrocode() should have a custom decompresser built into it. Do your future plans include the ability to gzip the data and transparently decompress it when the driver calls request_firmware()? -- Intel are signing my paycheques ... these opinions are still mine "Bill, look, we understand that you're interested in selling us this operating system, but compare it to ours. We can't possibly take such a retrograde step." -- To unsubscribe from this list: send the line "unsubscribe linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html