On Thursday 19 July 2012 17:55:18 wei_w...@realsil.com.cn wrote: > +static void sd_normal_rw(struct realtek_sdmmc *host, struct mmc_request *mrq) > +{ > + struct mmc_command *cmd = mrq->cmd; > + struct mmc_data *data = mrq->data; > + u8 _cmd[5], *buf; > + > + _cmd[0] = 0x40 | (u8)cmd->opcode; > + _cmd[1] = (u8)(cmd->arg >> 24); > + _cmd[2] = (u8)(cmd->arg >> 16); > + _cmd[3] = (u8)(cmd->arg >> 8); > + _cmd[4] = (u8)cmd->arg;
Please use the predefined macro for endianness conversion. > + buf = kzalloc(data->blksz, GFP_KERNEL); 1. You must handle a failure to allocate a buffer 2. You must use GFP_NOIO as you are in a block driver Regards Oliver -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/