On Monday 12 February 2007 13:59, Al Viro wrote: > On Mon, Feb 12, 2007 at 09:12:56AM +0100, Andi Kleen wrote: > > On Monday 12 February 2007 09:03, Amit Kale wrote: > > > The already released kernel contains a broken driver. It broke due to > > > some code rearrangement changes someone submitted to fix sparse > > > warnings. > > s/sparse warnings/breakage on big-endian boxen/, actually. This stuff > was sent to netdev tree and sat there for a while. Pity if some breakage > occured and went unnoticed; could you give more details?
We were in middle of other changes last week. Here it is. This is FYI only. We'll send a set of patches with this change as well as some other in a short time. diff -Narup not_working/netxen/netxen_nic.h got_working/netxen/netxen_nic.h --- not_working/netxen/netxen_nic.h 2007-02-08 23:20:34.468721000 -0800 +++ got_working/netxen/netxen_nic.h 2007-02-08 23:19:44.526769000 -0800 @@ -252,7 +252,7 @@ typedef u32 netxen_ctx_msg; #define netxen_set_msg_ctxid(config_word, val) \ ((config_word) &= ~(0x3ff<<18), (config_word) |= (val & 0x3ff) << 18) #define netxen_set_msg_opcode(config_word, val) \ - ((config_word) &= ~(0xf<<24), (config_word) |= (val & 0xf) << 24) + ((config_word) &= ~(0xf<<28), (config_word) |= (val & 0xf) << 28) struct netxen_rcv_context { __le64 rcv_ring_addr; @@ -309,8 +309,8 @@ struct netxen_ring_ctx { ((cmd_desc)->num_of_buffers_total_length &= ~cpu_to_le32(0xff), \ (cmd_desc)->num_of_buffers_total_length |= cpu_to_le32((val) & 0xff)) #define netxen_set_cmd_desc_totallength(cmd_desc, val) \ - ((cmd_desc)->num_of_buffers_total_length &= cpu_to_le32(0xff), \ - (cmd_desc)->num_of_buffers_total_length |= cpu_to_le32(val << 24)) + ((cmd_desc)->num_of_buffers_total_length &= cpu_to_le32(0xffffff), \ + (cmd_desc)->num_of_buffers_total_length |= cpu_to_le32(val << 8)) #define netxen_get_cmd_desc_opcode(cmd_desc) \ ((le16_to_cpu((cmd_desc)->flags_opcode) >> 7) & 0x003F) - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html