Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F161450982
D57047.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
3 KB
Referenced Files
None
Subscribers
None
D57047.diff
View Options
diff --git a/net/wifi-firmware-iwlwifi-kmod/files/extract-fw-list.sh b/net/wifi-firmware-iwlwifi-kmod/files/extract-fw-list.sh
--- a/net/wifi-firmware-iwlwifi-kmod/files/extract-fw-list.sh
+++ b/net/wifi-firmware-iwlwifi-kmod/files/extract-fw-list.sh
@@ -109,6 +109,14 @@
flavors[6] = "bz"; # mld starts here
flavors[7] = "sc";
flavors[8] = "dr";
+
+ # Linux version 7.0 at most uses -c101 but we already have FW for 103.
+ # Limit this for now. 7.1 likely will only use up to 102.
+ fwmaxver["bz","bz-b0-fm-c0-c"] = 101;
+ fwmaxver["bz","bz-b0-wh-b0-c"] = 101;
+ fwmaxver["bz","gl-c0-fm-c0-c"] = 101;
+ fwmaxver["sc","sc-a0-fm-c0-c"] = 101;
+ fwmaxver["sc","sc-a0-wh-b0-c"] = 101;
}
{
if (! /^File:/) {
@@ -143,27 +151,53 @@
flav=get_flavor(name);
ver=name;
- gsub("-[[:digit:]]*$", "", name);
+
+ # from 101 it can be -cNNN
+ # It is a bit of a mess as some other files end in -c0.pnvm and so
+ # we also need to filter out pnvm for core -cNNN versions, though
+ # matching NNN* instead of N* should help (for now) as well.
+ if (name ~ /-c[[:digit:]][[:digit:]][[:digit:]]*$/) {
+ gsub("-c[[:digit:]][[:digit:]][[:digit:]]*$", "", name);
+ } else {
+ gsub("-[[:digit:]]*$", "", name);
+ }
gsub("^.*-", "", ver);
+ if (ver ~ /^c/) {
+ #printf("DEBUG: ver starting with core prefix c: %s, name: %s, full name: %s\n", ver, name, $0);
+ gsub("^c", "", ver); # from 101 it can be -cNNN
+ name = name "-c";
+ } else {
+ name = name "-";
+ }
# Assoc.Arrays are great but we lose the order which we want for the FLAVORs.
x1=known_in_2arr(fwver, flav, name);
x2=known_in_2arr(fwpnvm, flav, name);
+ # Need to check both old and new variants (though not sure if -c has .pnvm included again and thus never has one?)
+ if (!x2 && name ~ /-c$/) {
+ xname=name
+ gsub("c$", "", xname);
+ x2=known_in_2arr(fwpnvm, flav, xname);
+ }
if (x1 || x2) {
#printf("DEBUG: %s SKIPPING %s/%s, already known in %d,%d\n", $0, flav, name, x1, x2);
- } else {
+ }
+
+ if (!x2 && ispnvm) {
+ fwpnvm[flav,name] = 1;
+ next;
+ }
+ if (!x1) {
fwn[flav]++;
fwname[flav,fwn[flav]] = name;
#printf("DEBUG: %s ADDING %s/%s, already known in %d,%d\n", $0, flav, name, x1, x2);
}
- if (ispnvm) {
- fwpnvm[flav,name] = 1;
+
+ if ((fwver[flav,name] + 0) < (ver + 0) &&
+ ((fwmaxver[flav,name] + 0) == 0 || (ver + 0) <= (fwmaxver[flav,name] + 0))) {
+ fwver[flav,name] = ver;
} else {
- if ((fwver[flav,name] + 0) < (ver + 0)) {
- fwver[flav,name] = ver;
- } else {
- printf("DEBUG: skipping %s: %s < %s\n", $0, fwver[flav,name], ver);
- }
+ printf("DEBUG: skipping %s: %s is < %s || > %s\n", $0, ver, fwver[flav,name], fwmaxver[flav,name]);
}
}
END {
@@ -197,9 +231,15 @@
# Print
for (i = 1; i <= fwn[flav]; i++) {
if (fwpnvm[flav,fwname[flav,i]]) {
- printf(" \\\n\t\${FWSUBDIR}/iwlwifi-%s.pnvm\${DISTURL_SUFFIX}", fwname[flav,i]);
+ pname=fwname[flav,i];
+ gsub("-c$", "", pname);
+ gsub("-$", "", pname);
+ printf(" \\\n\t\${FWSUBDIR}/iwlwifi-%s.pnvm\${DISTURL_SUFFIX}", pname);
+ }
+ # Could be there as a file but only higher than "fwmaxver".
+ if ((fwver[flav,fwname[flav,i]] + 0) > 0) {
+ printf(" \\\n\t\${FWSUBDIR}/iwlwifi-%s%s.ucode\${DISTURL_SUFFIX}", fwname[flav,i], fwver[flav,fwname[flav,i]]);
}
- printf(" \\\n\t\${FWSUBDIR}/iwlwifi-%s-%s.ucode\${DISTURL_SUFFIX}", fwname[flav,i], fwver[flav,fwname[flav,i]]);
}
}
printf("\n");
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Sat, Jul 4, 10:10 PM (1 h, 5 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
33256567
Default Alt Text
D57047.diff (3 KB)
Attached To
Mode
D57047: net/wifi-firmware-iwlwifi-kmod: update script to generate fw list
Attached
Detach File
Event Timeline
Log In to Comment