Skip to content
  • Dirk Eibach's avatar
    [PATCH] char/moxa.c: fix endianess and multiple-card issues · 01cfaf0d
    Dirk Eibach authored
    
    
    While testing Moxa C218T/PCI on PowerPC 405EP I found that loading firmware
    using the linux kernel driver fails because calculation of the checksum is
    not endianess independent in the original code.
    
    After I fixed this I found that uploading firmware in a system with
    multiple cards causes a kernel oops.  I had a look in the recent moxa
    sources and found that they do some kind of locking there.  Applying this
    lock fixed the problem.
    
    Alan sayeth:
    
      Checksum changes are clearly correct.  Other changes is an improvement but
      not I think enough to handle malicious firmware attacks.  That said such an
      attacker has CAP_SYS_RAWIO anyway so that part is irrelevant except for
      neatness.
    
    [akpm@osdl.org: cleanups]
    Signed-off-by: default avatarDirk Eibach <eibach@gdsys.de>
    Acked-by: default avatarAlan Cox <alan@redhat.com>
    Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
    01cfaf0d