On 06/10/2015 07:57 PM, Joe Perches wrote:
On Wed, 2015-06-10 at 18:43 +0200, Ivan Vecera wrote:
Signed-off-by: Ivan Vecera <ivec...@redhat.com>

Have you verified that all of these are __aligned(2)?

I haven't, but you should verify that you have in the
commit log.
I have checked an alignment of all instances and they are all aligned properly... An exception is global variable bnad_bcast_addr, its alignment is 1 according __alignof__ but according generated assembly it is aligned to 2. Anyway I'm going to put __aligned directive for sure.

btw: this use looks odd to me:

static int
bnad_set_mac_address(struct net_device *netdev, void *mac_addr)
{
        int err;
        struct bnad *bnad = netdev_priv(netdev);
        struct sockaddr *sa = (struct sockaddr *)mac_addr;
        unsigned long flags;

        spin_lock_irqsave(&bnad->bna_lock, flags);

        err = bnad_mac_addr_set_locked(bnad, sa->sa_data);

as it casts what seems to be a mac address to a
sockaddr and uses a different offset for sa->sa_data
than the mac_addr passed.

and the mac_addr as it's void doesn't need a cast.
No, bnad_set_mac_address() is an implementation of .ndo_set_mac_address() and this is called with pointer to struct sockaddr. The mac_addr name is a little bit confusing.

Will post v2.

Ivan

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to