Re: [PATCH] STLC2500 updated patch

Fabien Chevalier
2007-10-08T11:49:34Z

[-- Attachment #1: Type: text/plain, Size: 244 bytes --]

> please break this down into four separate patches. I hate big patches
> that try to fix everything in one go.
>
Third on the list: Retrieve version string before anything else, remove
bogus resets, add OCF & OGF comments.

Cheers,

Fabien

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: hciattach-stl2500-cleanup-and-fix-3.patch --]
[-- Type: text/x-patch; name="hciattach-stl2500-cleanup-and-fix-3.patch", Size: 1651 bytes --]

Index: tools/hciattach_st.c
===================================================================
--- tools/hciattach_st.c (.../tags/20070928_1730) (révision 107)
+++ tools/hciattach_st.c (.../branches/20070928_1730) (révision 107)
@@ -192,46 +197,42 @@
{
unsigned char cmd[16];
unsigned char buf[254];
uint16_t version;
int len;

- len = do_command(dd, 0x04, 0x0001, NULL, 0, buf, sizeof(buf));
+ /* Hci_Cmd_Ericsson_Read_Revision_Information */
+ len = do_command(dd, 0xff, 0x000f, NULL, 0, buf, sizeof(buf));
if (len < 0)
return -1;

- version = buf[2] << 8 | buf[1];
-
- if (load_file(dd, version, ".ptc") < 0)
- return -1;
+ printf("%s\n", buf);

- len = do_command(dd, 0x03, 0x0003, NULL, 0, buf, sizeof(buf));
+ /* HCI_Read_Local_Version_Information */
+ len = do_command(dd, 0x04, 0x0001, NULL, 0, buf, sizeof(buf));
if (len < 0)
return -1;

- if (load_file(dd, buf[2] << 8 | buf[1], ".ssf") < 0)
- return -1;
+ version = buf[2] << 8 | buf[1];

- len = do_command(dd, 0x03, 0x0003, NULL, 0, buf, sizeof(buf));
- if (len < 0)
+ if (load_file(dd, version, ".ptc") < 0)
return -1;

- len = do_command(dd, 0xff, 0x000f, NULL, 0, buf, sizeof(buf));
- if (len < 0)
+ if (load_file(dd, buf[2] << 8 | buf[1], ".ssf") < 0)
return -1;

- printf("%s\n", buf);
-
cmd[0] = 0xfe;
cmd[1] = 0x06;
bacpy((bdaddr_t *) (cmd + 2), bdaddr);

+ /* Hci_Cmd_ST_Store_In_NVDS */
len = do_command(dd, 0xff, 0x0022, cmd, 8, buf, sizeof(buf));
if (len < 0)
return -1;

+ /* HCI_Reset : applies parameters*/
len = do_command(dd, 0x03, 0x0003, NULL, 0, buf, sizeof(buf));
if (len < 0)
return -1;

return 0;
}

[-- Attachment #3: fchevalier.vcf --]
[-- Type: text/x-vcard, Size: 242 bytes --]