Naturally, Wi-Fi devices (access points, client adapters) receive frames that were sent on an adjacent channel as these overlap, i.e., they 'see' frames that were sent on a channel that the device itself is not operating on.
However, I made the observation that they react differently: Hardware access points discard/drop/ignore all these frames. Client hardware (particilary a Wi-Fi adapter under Linux) does not ignore such frames but passes them to higher layers (i.e., it treats such frames as if they were sent on the 'correct' channel). This seems to happen to all types of access points and all Wi-Fi chipsets/drivers on the client side.
Can someone explain, why this is the case? Is different hardware (i.e., Wi-Fi chipset) used to construct APs or client adapters? Does the AP's firmware implement something that standard Wi-Fi chipset's firmware does not implement?
Any hint is greatly appreciated!