Question concerning function illegal_highdma

From: Lino Sanfilippo
Date: Tue Mar 08 2016 - 05:33:37 EST



Hi all,

while trying to understand the meaning of the net_device flag NETIF_F_HIGHDMA
I came across the function illegal_highdma() which seems to perform two tasks:

1. Check if a network interface is able to handle high memory pages
2. Check if a network interface is able to handle the resulting DMA addresses

What I dont understand is why both conditions are only checked if CONFIG_HIGHMEM is set.
For 1. this makes sense, of course. But why is 2. also only checked with CONFIG_HIGHMEM?
Should not 2. always be checked, regardless of whether high memory exists in the system or not?

Thanks for any enlightenment in advance!

Regards,
Lino