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 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

[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]

Add to Google Powered by Linux