Léa-Linux & amis :   LinuxFR   GCU-Squad   GNU
Patch, pour les pros...
Envoyé par: Joran

Bonjour,
Je travaille sur un système embarqué basé sur le noyau linux 2.6.22-rc5.
J'essais d'appliquer un patch que j'ai trouvé sur le mailing list de sourceforge.
Le patch en question a été testé sur le noyau linux 2.6.22-rc4.
Mon problème est que je n'arrive pas a appliquer ce patch alors qu'il n'y a aucune raison apparente !
J'ai réduit le patch à quelques lignes...

Le voici :

--- pxa.orig/drivers/mmc/card/block.c 2007-06-10 13:00:21.000000000 -0700
+++ pxa/drivers/mmc/card/block.c 2007-06-10 13:00:30.000000000 -0700
@@ -151,7 +151,7 @@
 
 cmd.opcode = MMC_APP_CMD;
 cmd.arg = card->rca << 16;
- cmd.flags = MMC_RSP_R1 | MMC_CMD_AC;
+ cmd.flags = MMC_RSP_SPI_R1 | MMC_RSP_R1 | MMC_CMD_AC;
 
 err = mmc_wait_for_cmd(card->host, &cmd, 0);
 if ((err != MMC_ERR_NONE) || !(cmd.resp[0] & R1_APP_CMD))

mon fichier à patcher à la sytaxe suivante :
151	memset(&cmd, 0, sizeof(struct mmc_command));
152
153	cmd.opcode = MMC_APP_CMD;
154	cmd.arg = card->rca << 16;
155	cmd.flags = MMC_RSP_R1 | MMC_CMD_AC;
156
157	err = mmc_wait_for_cmd(card->host, &cmd, 0);

J'obtiens le message suivant à l'application du patch :

Applying mmc-over-spi_card-driver-update.patch using plaintext: 
patching file drivers/mmc/card/block.c
Hunk #1 FAILED at 151.
1 out of 1 hunk FAILED -- saving rejects to file drivers/mmc/card/block.c.rej
Patch failed!  Please fix mmc-over-spi_card-driver-update.patch!

Avez vous une idée ?
Je n'y comprends strictement rien...

Poste le Thursday 5 July 2007 22:01:07
Répondre     Citer    
Re: Patch, pour les pros...
Envoyé par: Joran

Les doubles arobases ne passant pas sur le forum, je les ai remplacés par des doubles a, voici donc mon patch :

--- pxa.orig/drivers/mmc/card/block.c 2007-06-10 13:00:21.000000000 -0700
+++ pxa/drivers/mmc/card/block.c 2007-06-10 13:00:30.000000000 -0700
aa -151,7 +151,7 aa
 
 cmd.opcode = MMC_APP_CMD;
 cmd.arg = card->rca << 16;
- cmd.flags = MMC_RSP_R1 | MMC_CMD_AC;
+ cmd.flags = MMC_RSP_SPI_R1 | MMC_RSP_R1 | MMC_CMD_AC;
 
 err = mmc_wait_for_cmd(card->host, &cmd, 0);
 if ((err != MMC_ERR_NONE) || !(cmd.resp[0] & R1_APP_CMD))

Poste le Thursday 5 July 2007 22:05:27
Répondre     Citer    
Re: Patch, pour les pros...
Envoyé par: Joran

Décidément...
J'ai fait une erreur sur les numéros de lignes du fichier à patcher :

150	memset(&cmd, 0, sizeof(struct mmc_command));
151
152	cmd.opcode = MMC_APP_CMD;
153	cmd.arg = card->rca << 16;
154	cmd.flags = MMC_RSP_R1 | MMC_CMD_AC;
155
156	err = mmc_wait_for_cmd(card->host, &cmd, 0);

Excusez moi...:ange:

Poste le Thursday 5 July 2007 22:07:49
Répondre     Citer    

Veuillez vous authentifier auparavant pour commenter.

 

Ce forum !
Patch, pour les pros...
Pour poser vos questions sur les scripts shell, le Perl, le C, etc... Attention : nous ne sommes pas des spécialistes du dev, ce forum est juste pour de petites aides ponctuelles concernant le développement et les outils de développement.

Sauf mention contraire, les documentations publiées sont sous licence Creative-Commons