On Wed, Oct 03, 2012 at 09:38:52AM -0700, Linus Torvalds wrote:
Yeah, that bugzilla shows the problem with Kay as a maintainer too,
not willing to own up to problems he caused.
Can you actually see the problem? I did add the attached patch as an
attachment to the bugzilla, so the reporter there may be able to test
it, but it's been open for a long while..
Anyway. Attached is a really stupid patch that tries to do the "direct
firmware load" as suggested by Ivan. It has not been tested very
extensively at all (but I did test that it loaded the brcmsmac
firmware images on my laptop so it has the *potential* to work).
+ if (!S_ISREG(inode->i_mode))
+ return false;
+ size = i_size_read(inode);
Probably better to do vfs_getattr() and check mode and size in kstat; if
it's sufficiently hot for that to hurt, we are fucked anyway.
+ file = filp_open(path, O_RDONLY, 0);
+ if (IS_ERR(file))
+ continue;
+printk("from file '%s' ", path);
+ success = fw_read_file_contents(file, fw);
+ filp_close(file, NULL);
fput(file), please. We have enough misuses of filp_close() as it is...
We are apparently better off trying to avoid udev like the plague.
Doing something very similar to this for module loading is probably a
good idea too.
That, or just adding usr/udev in the kernel git tree and telling the
vertical integrators to go kiss a lamprey...