Hi Marek, On Thu, Apr 10, 2014 at 4:59 PM, Marek Vasut <marex@xxxxxxx> wrote: > On Thursday, April 10, 2014 at 10:40:58 AM, Sonic Zhang wrote: >> From: Sonic Zhang <sonic.zhang@xxxxxxxxxx> >> >> in case of multiple crc devices are probed. >> >> Signed-off-by: Sonic Zhang <sonic.zhang@xxxxxxxxxx> >> --- >> drivers/crypto/bfin_crc.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/drivers/crypto/bfin_crc.c b/drivers/crypto/bfin_crc.c >> index cea3e8c..5f5f427 100644 >> --- a/drivers/crypto/bfin_crc.c >> +++ b/drivers/crypto/bfin_crc.c >> @@ -672,7 +672,7 @@ static int bfin_crypto_crc_probe(struct platform_device >> *pdev) platform_set_drvdata(pdev, crc); > > Rant: Reading through the code a little, the platform_set_drvdata() should > happen before you add the new CRC device into the list (above this code). OK > >> ret = crypto_register_ahash(&algs); >> - if (ret) { >> + if (ret && ret != -EEXIST) { > > Uh oh, how is this supposed to work ? Does blackfin have multiple crc32 > processing units ? Can you simply not check if the crc_list is not empty and > avoid calling crypto_register_ahash() for subsequent crc32 units at all ? Yes, Blackfin has 2 crc32 units CRC0 and CRC1. I will have a try to see if it works. Thanks Sonic -- To unsubscribe from this list: send the line "unsubscribe linux-crypto" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html