The commit he listed (and the subsequent commits immediately after) has solved the issue.
If you splice the iwlwifi folder from the latest snapshot of that git tree with the iwlwifi folder from compat-wireless, you can save yourself the hours-long kernel compilation and build a full-speed iwl3945 module.
I can confirm Giuliano's findings.
The commit he listed (and the subsequent commits immediately after) has solved the issue.
If you splice the iwlwifi folder from the latest snapshot of that git tree with the iwlwifi folder from compat-wireless, you can save yourself the hours-long kernel compilation and build a full-speed iwl3945 module.