lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Date:	Thu, 22 Mar 2012 17:46:33 +0100
From:	Peter Rusko <rusko.peter@...lan.hu>
To:	<netdev@...r.kernel.org>
Subject: FEC MAC with ethernet switch chip

Hi all,

I'm trying to get a Marvell ethernet switch (88E6065) working with the
FEC driver (on an i.mx28 cpu). The original driver doesn't support it
because of the multiple ports/phys. It probes the bus and assigns the hw
with the first address to fec0 and the second to fec1. This results the
loss of fec1 when I disconnect the cable from the first port (the phy
driver brings the connection down).

I have two solutions, but don't really know which one is better.

1. There is a DSA (Distributed Switch Architecture) interface used in
the kernel for these chips. These drivers don't need PHY's so I simply
disabled the PHY driver (and made it configurable through
platform_data). An attached patch shows this simple solution. It works
perfectly, but I still have to configure the chip. (btw, I had serious
problems adding the platform_dev because it needs a reference to a
struct ndev. Is there a good solution for this?)

2. A PHY driver would solve the problem, though it's not a PHY.

Which one should I use? Or is there a better one?

Regards,
-- 
Ruskó Péter
Fejlesztőmérnök

Prolan Zrt. / Prolan Co.
Hungary 2011 Budakalász, Szentendrei út 1-3.
Tel./Phone: +36 20 954 3118
Fax: +36 26 540 420
E-mail: rusko.peter@...lan.hu
Web: www.prolan.hu
Timezone:CET

View attachment "fecphy.patch" of type "text/x-patch" (2400 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ