Re: [PATCH] CONFIG_TR/CONFIG_LLC: work around the problem with select |
|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
On Sun, 2012-02-05 at 06:31 +0000, Al Viro wrote:
> As it is, with PCI/ISA/MCA/CCW all set to n and PCMCIA set to m
> setting TR to y will set LLC to m, with very unpleasant results -
> net/802/psnap gets picked into obj-y, resulting in the kernel
> that won't link - psnap calls functions from llc. The cause,
> AFAICS, is that kconfig gets rev_dep for LLC containing
> || TR && (deps for TR)
> and even though TR is boolean, both LLC and PCMCIA are tristate
> and that thing becomes || y && (n || m), i.e. || m. The reason
> for dependency on PCMCIA is that when none of PCI, ISA, MCA, CCW
> or PCMCIA is set there'll be no tokenring drivers, so there's no
> point building tokenring core. Proper fix probably belongs in
> kconfig (we need strict and, such that y <strict_and> m would be
> y, so that rev_deps added for tristate selected by bool would
> use that instead of &&; we'd have || TR <strict_and> (deps for TR)
> in this case), but it's a rather intrusive change. There's an
> easy workaround in case of TR -> LLC select, namely to have a def_bool y
> symbol sitting under if TR and have that symbol selecting LLC.
> Kudos to johill for suggesting that one...
[...]
This is pretty subtle; maybe it warrants a comment above WANT_LLC?
Ben.
--
Ben Hutchings, Staff Engineer, Solarflare
Not speaking for my employer; that's the marketing department's job.
They asked us to note that Solarflare product names are trademarked.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
[Linux Kernel Discussion]
[Ethernet Bridging]
[Linux Wireless Networking]
[Linux Bluetooth Networking]
[Linux Networking Users]
[VLAN]
[Git]
[IETF Annouce]
[Linux Assembly]
[Security]
[Bugtraq]
[Photo]
[Singles Social Networking]
[Yosemite Information]
[MIPS Linux]
[ARM Linux Kernel]
[ARM Linux]
[Linux Virtualization]
[Linux Security]
[Linux IDE]
[Linux RAID]
[Linux SCSI]
[Free Dating]