On 02/27/18 09:06, Stefan Sperling wrote:
> On Mon, Feb 26, 2018 at 11:55:34PM +0100, [email protected] wrote:
>> When connecting to a wifi network messages like "iwm0: unhandled firmware
>> response 0xff/0xb8000010 rx ring" appear.
>> After looking at https://patchwork.kernel.org/patch/9869017/ I came up with
>> following patch.
>> The link also explains what is happening.
>
> Thanks for this!
>
>> I'm not sure if it makes sense to log the firmware responses like the linux
>> kernel does.
>> They don't appear to have any negative effect so I decided against it.
>
> Agreed. There is no point in logging this.
>
> There are two problems with your diff:
>
> The first is that somehow it got corrupted (whitespace got mangled, lines
> got wrapped which shouldn't have been). Please check your mailer settings.
> Tip: You can mail a diff to yourself and then try to apply it until you've
> figured out how to make your mail client work right. I've quoted the diff
> I received below as-is, so if you save this mail body and feed it into
> patch(1) you will see what problems I saw.
> In this particular instance it's not a huge burden because the diff adds
> just 3 lines, but I basically had to rewrite your patch from scratch to
> apply it, which is no fun, especially for larger diffs.
Sorry for that. Seems my config was eaten. Again.
> The next problem: You're catching this notification in a case block which
> handles commands we expect to get a response for, but we don't even want
> to parse the data contained in this notification.
> I think it would be better to move it to a different case: block which just
> does a 'break;'. There should be some of those already so you could add it
> there, or you could introduce a new case: block, whichever you prefer.
I moved the catch which is marked as ignored. Thanks for the review!
diff --git sys/dev/pci/if_iwm.c sys/dev/pci/if_iwm.c
index 476c61f0b3d..af3eeb76978 100644
--- sys/dev/pci/if_iwm.c
+++ sys/dev/pci/if_iwm.c
@@ -7316,6 +7316,10 @@ iwm_notif_intr(struct iwm_softc *sc)
break;
}
+ case IWM_WIDE_ID(IWM_SYSTEM_GROUP,
+ IWM_FSEQ_VER_MISMATCH_NOTIFICATION):
+ break;
+
/*
* Firmware versions 21 and 22 generate some DEBUG_LOG_MSG
* messages. Just ignore them for now.
diff --git sys/dev/pci/if_iwmreg.h sys/dev/pci/if_iwmreg.h
index 3c5cfea7b23..06eef017015 100644
--- sys/dev/pci/if_iwmreg.h
+++ sys/dev/pci/if_iwmreg.h
@@ -1813,6 +1813,9 @@ struct iwm_agn_scd_bc_tbl {
#define IWM_NET_DETECT_HOTSPOTS_CMD 0x58
#define IWM_NET_DETECT_HOTSPOTS_QUERY_CMD 0x59
+/* system group command IDs */
+#define IWM_FSEQ_VER_MISMATCH_NOTIFICATION 0xff
+
#define IWM_REPLY_MAX 0xff
/**
@@ -5820,6 +5823,7 @@ iwm_cmd_id(uint8_t opcode, uint8_t groupid, uint8_t
version)
/* due to the conversion, this group is special */
#define IWM_ALWAYS_LONG_GROUP 1
+#define IWM_SYSTEM_GROUP 4
struct iwm_cmd_header {
uint8_t code;