tree:   https://git.linaro.org/people/ulf.hansson/mmc next
head:   edd9918aa24ccee14f80d0c6e87e89b59223e807
commit: 36b2de044cdf3e3dfc2402a48008aa5ef0849a2b [96/99] mmc: add Toshiba PCI 
SD controller driver

drivers/mmc/host/toshsd.c:389 toshsd_irq() error: we previously assumed 
'host->cmd' could be null (see line 349)

git remote add ulf.hansson-mmc https://git.linaro.org/people/ulf.hansson/mmc
git remote update ulf.hansson-mmc
git checkout 36b2de044cdf3e3dfc2402a48008aa5ef0849a2b
vim +389 drivers/mmc/host/toshsd.c

36b2de04 Ondrej Zary 2014-11-11  343                    detail & 
SD_ERR1_TIMEOUT_CRS_STATUS ? "CRS_STATUS_TIMEOUT " : "",
36b2de04 Ondrej Zary 2014-11-11  344                    detail & 
SD_ERR1_TIMEOUT_CRC_BUSY ? "CRC_BUSY_TIMEOUT " : "");
36b2de04 Ondrej Zary 2014-11-11  345            error = -EIO;
36b2de04 Ondrej Zary 2014-11-11  346    }
36b2de04 Ondrej Zary 2014-11-11  347  
36b2de04 Ondrej Zary 2014-11-11  348    if (error) {
36b2de04 Ondrej Zary 2014-11-11 @349            if (host->cmd)
36b2de04 Ondrej Zary 2014-11-11  350                    host->cmd->error = 
error;
36b2de04 Ondrej Zary 2014-11-11  351  
36b2de04 Ondrej Zary 2014-11-11  352            if (error == -ETIMEDOUT) {
36b2de04 Ondrej Zary 2014-11-11  353                    iowrite32(int_status &
36b2de04 Ondrej Zary 2014-11-11  354                              
~(SD_BUF_CMD_TIMEOUT | SD_CARD_RESP_END),
36b2de04 Ondrej Zary 2014-11-11  355                              host->ioaddr 
+ SD_CARDSTATUS);
36b2de04 Ondrej Zary 2014-11-11  356            } else {
36b2de04 Ondrej Zary 2014-11-11  357                    toshsd_init(host);
36b2de04 Ondrej Zary 2014-11-11  358                    
__toshsd_set_ios(host->mmc, &host->mmc->ios);
36b2de04 Ondrej Zary 2014-11-11  359                    goto irq_end;
36b2de04 Ondrej Zary 2014-11-11  360            }
36b2de04 Ondrej Zary 2014-11-11  361    }
36b2de04 Ondrej Zary 2014-11-11  362  
36b2de04 Ondrej Zary 2014-11-11  363    /* Card insert/remove. The mmc 
controlling code is stateless. */
36b2de04 Ondrej Zary 2014-11-11  364    if (int_reg & (SD_CARD_CARD_INSERTED_0 
| SD_CARD_CARD_REMOVED_0)) {
36b2de04 Ondrej Zary 2014-11-11  365            iowrite32(int_status &
36b2de04 Ondrej Zary 2014-11-11  366                      
~(SD_CARD_CARD_REMOVED_0 | SD_CARD_CARD_INSERTED_0),
36b2de04 Ondrej Zary 2014-11-11  367                      host->ioaddr + 
SD_CARDSTATUS);
36b2de04 Ondrej Zary 2014-11-11  368  
36b2de04 Ondrej Zary 2014-11-11  369            if (int_reg & 
SD_CARD_CARD_INSERTED_0)
36b2de04 Ondrej Zary 2014-11-11  370                    toshsd_init(host);
36b2de04 Ondrej Zary 2014-11-11  371  
36b2de04 Ondrej Zary 2014-11-11  372            mmc_detect_change(host->mmc, 1);
36b2de04 Ondrej Zary 2014-11-11  373    }
36b2de04 Ondrej Zary 2014-11-11  374  
36b2de04 Ondrej Zary 2014-11-11  375    /* Data transfer */
36b2de04 Ondrej Zary 2014-11-11  376    if (int_reg & (SD_BUF_READ_ENABLE | 
SD_BUF_WRITE_ENABLE)) {
36b2de04 Ondrej Zary 2014-11-11  377            iowrite32(int_status &
36b2de04 Ondrej Zary 2014-11-11  378                      ~(SD_BUF_WRITE_ENABLE 
| SD_BUF_READ_ENABLE),
36b2de04 Ondrej Zary 2014-11-11  379                      host->ioaddr + 
SD_CARDSTATUS);
36b2de04 Ondrej Zary 2014-11-11  380  
36b2de04 Ondrej Zary 2014-11-11  381            ret = IRQ_WAKE_THREAD;
36b2de04 Ondrej Zary 2014-11-11  382            goto irq_end;
36b2de04 Ondrej Zary 2014-11-11  383    }
36b2de04 Ondrej Zary 2014-11-11  384  
36b2de04 Ondrej Zary 2014-11-11  385    /* Command completion */
36b2de04 Ondrej Zary 2014-11-11  386    if (int_reg & SD_CARD_RESP_END) {
36b2de04 Ondrej Zary 2014-11-11  387            iowrite32(int_status & 
~(SD_CARD_RESP_END),
36b2de04 Ondrej Zary 2014-11-11  388                      host->ioaddr + 
SD_CARDSTATUS);
36b2de04 Ondrej Zary 2014-11-11 @389            toshsd_cmd_irq(host);
36b2de04 Ondrej Zary 2014-11-11  390    }
36b2de04 Ondrej Zary 2014-11-11  391  
36b2de04 Ondrej Zary 2014-11-11  392    /* Data transfer completion */

---
0-DAY kernel test infrastructure                Open Source Technology Center
http://lists.01.org/mailman/listinfo/kbuild                 Intel Corporation
_______________________________________________
kbuild mailing list
[email protected]
https://lists.01.org/mailman/listinfo/kbuild

Reply via email to